vcproj

屬性含義說明ProjectType工程類型默認值是Visual 32ProjSccProjectName SccLocalPath

詞條介紹

vcproj是一個標準的xml檔案。因此以下就以節點順序描述。
根節點是VisualStudioProject,屬性中包含了工程的全局信息,常見的信息有:

屬性 含義 說明
ProjectType 工程類型 默認值是Visual C++
Version 版本 默認值是7.10
Name 工程名稱
ProjectGUID 工程的GUID
Keyword 工程關鍵字 默認值是Win32Proj
SccProjectName
SccAuxPath
SccLocalPath
SccProvider
SourceSafe信息 默認值是SAK
後面的Scc**屬性,標誌了此工程在SourceSafe中。手動將一個工程從SourceSafe中刪除時,只要刪除這四個屬性就行。當它們的默認值是SAK時,可以在工程檔案的同一個目錄下找到一個檔案mssccprj.scc,這裡面包含了工程在SourceSafe中的信息,比如:
SCC = This is a Source Code Control file
[PS.vcproj]
SCC_Aux_Path = "\\code-server\code$\"
SCC_Project_Name = "$/project/PS", IQIBAAAA
根節點下有三個子節點比較重要。Platforms很簡單,表示平台內容,通常就是“Win32”;configurations是編譯和連結的配置信息;Files下包括的是工程中的檔案信息。以下主要談談Configurations和Files。
Configurations包含了工程編譯和連結等配置信息,其子節點是Configuration,由用戶設定的編譯類型決定,默認有Debug和Release兩個子節點。Configuration的屬性如下:
屬性 含義 說明
Name 編譯選項名稱 Debug下通常為Debug|Win32
OutputDirectory 目標檔案輸出路徑 默認為Debug
IntermediateDirectory 編譯信息輸出路徑 默認為Debug
ConfigurationType 工程類型 1表示exe程式檔案,2表示dll動態庫檔案,3表示lib靜態庫檔案
UseOfMFC 表示是否使用MFC 0表示不使用MFC,1表示靜態連結MFC,2表示動態連結MFC
CharacterSet 表示編碼類型 1表示Unicode,2表示Ansi
 Configuration的子節點全是Tool,每個子節點都有一個屬性Name表示節點含義。這裡面有兩個子節點比較有用,一個是VCCLCompilerTool,表示編譯信息,一個是VCLinkerTool,表示連結信息,其它的子節點用的不多。

VCCLCompilerTool的常用屬性如下:

屬性 含義 說明
Optimization 最佳化選項 可以為0、1、2、3、4
PreprocessorDefinitions 預定義標記 通常都是WIN32 _WINDOWS _DEBUG
MinimalRebuild 是否使用最小編譯 設定為TRUE能節約編譯時間
BasicRuntimeChecks 運行時檢測,包括棧和未初始化變數等 默認為3
RuntimeLibrary 程式運行時 選擇多(單)執行緒,(非)調試,DLL(EXE)類型
TreatWChar_tAsBuiltInType 是否將wchar_t當作內置類型 如果為FALSE,wchar_t被認為是unsigned short類型
ForceConformanceInForLoopScope if和for循環中聲明的變數的作用範圍是否在循環內 7.1默認為FALSE,8.0默認為TRUE
UsePrecompiledHeader 預定義頭檔案設定 0表示不使用,1表示創建預定義頭檔案,2表示自動創建,3表示使用預定義頭檔案
PrecompiledHeaderThrough 預定義頭檔案名稱 通常都是stdafx.h,可以隨意指定
PrecompiledHeaderFile 預編譯信息檔案名稱 默認為$(IntDir)/$(TargetName).pch
WarningLevel 警告級別 4
Detect64BitPortabilityProblems 檢測是否兼容64位程式 FALSE
DebugInformationFormat 調試信息格式 Debug下通常設定為4,Release下可以設定為3

VCLinkerTool的常用屬性如下:

屬性 含義 說明
AdditionalDependencies 依賴lib檔案
OutputFile 輸出的目標檔案 默認$(OutDir)/$(ProjectName).exe
LinkIncremental 增量編譯 2
AdditionalLibraryDirectories 依賴lib的位置
GenerateDebugInformation 是否生成調試信息 通常都為TRUE
ProgramDatabaseFile 調試信息檔案名稱稱 $(IntDir)/$(ProjectName).pdb
SubSystem 子系統 1為控制台,2為Windows程式
ImportLibrary 導入的lib檔案 默認$(IntDir)/$(ProjectName).lib
Files下包括的是工程中的檔案信息,由Filter和File組成,Filter表示目錄,File表示檔案。每個cpp還可以包含一個子節點FileConfiguration,這個子節點表示此cpp檔案編譯時與全局編譯選項不一致的內容,通常情況下除了預編譯頭檔案外這不是必須的,預編譯頭則必須指定它的UsePrecompiledHeader信息為1,也就是由它來創建預定義頭檔案。

相關詞條

相關搜尋

熱門詞條

聯絡我們