詞條介紹
vcproj是一個標準的xml檔案。因此以下就以節點順序描述。
根節點是VisualStudioProject,屬性中包含了工程的全局信息,常見的信息有:
屬性 | 含義 | 說明 |
ProjectType | 工程類型 | 默認值是Visual C++ |
Version | 版本 | 默認值是7.10 |
Name | 工程名稱 | |
ProjectGUID | 工程的GUID | |
Keyword | 工程關鍵字 | 默認值是Win32Proj |
SccProjectName SccAuxPath SccLocalPath SccProvider | SourceSafe信息 | 默認值是SAK |
SCC = This is a Source Code Control file [PS.vcproj] SCC_Aux_Path = "\\code-server\code$\" SCC_Project_Name = "$/project/PS", IQIBAAAA |
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 |
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 |