複製鏈接
請複製以下鏈接發送給好友

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,也就是由它來創建預定義頭文件。