Visual C++ 設置適合自己的解決方案目錄結構

轉自:http://blog.csdn.net/akof1314/article/details/7190822 

 Visual C++ 使用解決方案來管理項目,項目之間還可能有依賴關係,設置適合自己的解決方案目錄結構,便於代碼的管理、程序的發佈。

下面開始一個虛擬解決方案設計:
        假設此解決方案有應用程序項目A,動態鏈接庫項目B,靜態鏈接庫項目C,其中項目A依賴項目B和項目C,則構建解決方案項目結構如下圖所示:

而目錄結構則如下圖所示:

Bin:存放所有動態鏈接庫和可執行程序,分Debug和Release兩個版本
A:應用程序項目文件夾
B:動態鏈接庫項目文件夾
C:靜態鏈接庫項目文件夾
Doc:存放項目文檔
Include:存放引用庫的頭文件
Lib:存放動態鏈接庫的導入庫、靜態鏈接庫
Temp:存放臨時生成文件,其中Compile存放編譯時的中間文件,Link存放鏈接時的輸出文件
除了Doc需要自己建立外,其他文件夾無需手動建立。


項目結構創建步驟:
1.創建一個新應用程序項目,名稱A,解決方案名稱爲Work,如下圖所示:

2.在"解決方案資源管理器"右鍵"解決方案Work","添加"→"新建項目"→"Win32"→"Win32 項目",名稱爲B,在"應用程序設置"選擇"DLL"和"空項目";
3.同樣的方式添加一個"Win32項目",名稱爲C,在"應用程序設置"選擇"靜態庫",去掉"預編譯頭"選項;
4.項目結構如下圖所示:


項目屬性設置

配置項目A的屬性
1.配置"所有配置","常規",
輸出目錄:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)
中間目錄:$(SolutionDir)Temp\Compile\$(ProjectName)\$(ConfigurationName)

2."生成事件"→"生成後事件",
命令行:echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(ConfigurationName)" /y
3."C/C++"→"常規",
附加包含目錄:$(SolutionDir)Include
4."鏈接器"→"常規",
附加庫目錄:$(SolutionDir)Lib
5."調試",
命令:$(SolutionDir)Bin\$(ConfigurationName)\$(TargetFileName)
工作目錄:$(SolutionDir)Bin\$(ConfigurationName)

配置項目B的屬性
1.配置"所有配置","常規"下,
輸出目錄:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)
中間目錄:$(SolutionDir)Temp\Compile\$(ProjectName)\$(ConfigurationName)
2.配置"Debug","鏈接器"→"常規"下,
輸出文件:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)\$(ProjectName)d.dll
3.配置"所有配置","生成事件"→"生成後事件"下,
命令行:
echo D | xcopy "$(TargetPath)" "$(SolutionDir)Bin\$(ConfigurationName)" /y
echo D | xcopy "$(TargetDir)$(TargetName).lib" "$(SolutionDir)Lib" /y
echo D | xcopy "$(ProjectDir)B.h" "$(SolutionDir)Include" /y 
第三行爲xcopy動態庫的頭文件,實際要根據所需進行改動名稱。

配置項目C的屬性
1.配置"所有配置","常規"下,
輸出目錄:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)
中間目錄:$(SolutionDir)Temp\Compile\$(ProjectName)\$(ConfigurationName)
2.配置"Debug","管理員"→"常規"下,
輸出文件:$(SolutionDir)Temp\Link\$(ProjectName)\$(ConfigurationName)\$(ProjectName)d.lib
3.配置"所有配置","生成事件"→"生成後事件"下,
命令行:
echo D | xcopy "$(TargetPath)" "$(SolutionDir)Lib" /y
echo D | xcopy "$(ProjectDir)C.h" "$(SolutionDir)Include" /y 
第二行爲xcopy靜態庫的頭文件,實際要根據所需進行改動名稱。

最後設置項目生成順序
菜單欄→"項目"→"項目依賴項",項目A依賴於B和C,如下圖所示:

編譯生成,可看到如下結果:

用tree命令看下文件夾結構:


其他網上關於目錄結構配置資料:
1.VC 2005 解決方案的目錄結構設置和管理  http://blog.csdn.net/rogeryi/article/details/1481923
2.VC項目管理:目錄結構  http://www.fancystar.org
3.VS2008中VC項目文件目錄的管理  http://qimo601.iteye.com/blog/1059299
4.研發規範-VC  http://wenku.baidu.com/view/26f6c789680203d8ce2f2414.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章