1. 程式人生 > >vs2010c++專案屬性配置

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的值

),此時TargetDir表示在XXX\Solution\debug\

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