vs2010c++專案屬性配置
1.一個解決方案下可包含多個專案。
2.預設情況下,項屬性的設定的錄起點為項配置檔案所在的位置,即標頭檔案和原始檔所在的位置。
3.VC++下預設建立C++專案,則解決方案總錄下包含一個sln和一個項資料夾,編譯生成項後在總目錄下還會生成對應的Debug和Release目錄,存放最終生成的exe或dll檔案
例如:新建了一個Demo專案,vs裡會自動生成一個Demo的解決方案(Demo.sln),編譯Demo項後在總目錄下自動生成一個Debug目錄存放最後生成的解決方案下的所有專案的exe或dll檔案。
解決方案下有兩個專案Demo和Demo2,如下圖所示
編譯生成後Debug目錄下如下圖所示
專案目錄如下圖所示
專案配置及系統變數關係:
在vs2010的專案屬性頁,會有一些系統變數,如下:
SolutionDir:解決方案目錄
Configuration:指debug或release
ProjectName:專案名字
OutDir:在 常規--輸出目錄 中定義的值,如$(SolutionDir)$(Configuration)\,表示XXX\Solution\debug\目錄值
IntDir:中間目錄
TargetDir:生成exe或dll檔案所在位置,如連結器-常規-輸出檔案為$(OutDir)$(TargetName)$(TargetExt)(即定義了exe輸出位置,也就決定了TargetDit的值
TargetName:目標輸出名,不包括副檔名
TargetPath:目標輸出檔案的全路徑名
ProjectDir:表示專案目錄值,一般在“除錯-工作目錄”中設定該值
TargetExt:副檔名
PlatformToolsetVersion:
預設情況下“輸出目錄”和“輸出檔案”對應的目錄值是一樣的。
配置屬性
常規
輸出目錄:$(SolutionDir)$(Configuration)\
中間目錄:$(Configuration)\
目標檔名:$(ProjectName)
目標副檔名:.exe
生成日誌檔案:$(IntDir)\$(MSBuildProjectName).log
除錯
命令:$(TargetPath),表示偵錯程式要啟動的exe全名,TargetPath就表示目標輸出檔案的全路徑名,所以一般情況下它代表的值就等於“輸出檔案”屬性代表的值
工作目錄:$(ProjectDir)
偵錯程式型別 :Dll選擇混合
C/C++
前處理器:定議#ifdef ...#enfif 變數值
連結器
常規
輸出檔案:$(OutDir)$(TargetName)$(TargetExt)
附加庫目錄: ..\Lib (建一個lib目錄存放引用的lib庫)
輸入
附加依賴項:XXX.lib (Lib目錄下的一個或多個.lib檔案)
清單檔案
清單檔案:$(IntDir)$(TargetName)$(TargetExt).intermediate.manifest
除錯
生成程式資料庫檔案:$(TargetDir)$(TargetName).pdb
優化:
按配置優化資料庫:$(TargetDir)$(TargetName).pgd