-
vcproj
鎖定
vcproj是一個標準的xml文件。默認值是SKA。
- 中文名
- vcproj
- 包 含
- 工程在SourceSafe
- 刪 除
- 四個屬性
- 默認值
- SKA
vcproj詞條介紹
根節點是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,表示鏈接信息,其它的子節點用的不多。
vcproj常用屬性
屬性 | 含義 | 説明 |
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 |
屬性 | 含義 | 説明 |
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,也就是由它來創建預定義頭文件。