項目目錄結構的問題基本上是個仁者見仁,智者見智的問題,只要自己用着順手,使用什么樣的目錄組織結構是沒有什么大礙的。當然如果項目很大,參與的人員很多,那么合理的組織一下目錄結構還是會有很大的益處的。不同類型的項目也會有不同的目錄結構,這里簡單的展示一下我所使用的C++項目的基本目錄結構。
project --+---build---+---debug
| |---release
|---dist
|---doc
|---include---+---module1
| |---module2
|---lib
|---module1
|---module2
|---res
|---samples---+---sample1
| |---sample2
|---tools
|---copyleft
|---Makefile
|---README
|--- ...
下面分別介紹一下各目錄和文件的用途
build/:項目編譯目錄,各種編譯的臨時文件和最終的目標文件皆存於此,分為debug/和release/子目錄
dist/:分發目錄,最終發布的可執行程序和各種運行支持文件存放在此目錄,打包此目錄即可完成項目分發
doc/:保存項目各種文檔
include/:公共頭文件目錄,可以按模塊划分組織目錄來保存模塊相關頭文件
lib/:外部依賴庫目錄
res/:資源目錄
samples/:樣例程序目錄
tools/:項目支撐工具目錄
copyleft:版權聲明文件,當然也可以叫做copyright :-)
Makefile:項目構建配置文件,當然也有可能是其他類型的構建配置文件,比如bjam
README:項目的總體說明文件