本篇文章的主要內容轉載自 http://blog.csdn.net/waitforfree/article/details/8622059 ,感謝博主的辛苦勞動。此處,對比較重要的部分,進行進一步分析匯總,供以后學習總結使用。
VS2010的項目管理是以解決方案為中心,任何項目都是掛靠在解決方案下面,同一個解決方案下面可以添加多個項目,一次只允許一個項目處於活動狀態。
以下建立一個 名為fangan的 解決方案,下面掛靠兩個項目(ssyy和SecondProject)
默認情況下,項目的生成中間文件依據生成配置類型(DEBUG,RELEASE),位於自身目錄下的對應文件夾里面(DEBUG、RELEASE),項目的可執行文件位於解決方案的目錄下,位於解決方案的對應文件夾(DEBUG、RELEASE)下。
以下以C++工程項目為例子,解決方案總文件夾下面會有 解決方案配置文件*.sln, 兩個生成目錄DEBUG和RELEASE(其中生成最終的exe或者dll),和對應的項目文件夾。
項目文件夾下面會有對應的DEBUG和RELEASE( 選用RELEASE編譯后就會生成),項目配置文件*.vcxproj,和對應的實現文件,這里面的DEBUG和RELEASE文件夾里面存放的是中間編譯結果(*.obj),不存放exe或者dll之類的輸出,在使用上別注意。
VS2010 重要的項目設置點:
以下設置的內容為項目工程屬性,因此設置時的路徑為項目工程文件*.vcproj所在的路徑,完整路徑為 F:\C++_Primer\Fangan\ssyy\
工程屬性頁----> 配置屬性----> 常規 ----> 輸出目錄$(OutDir) = $(SolutionDir)$(Configuration)\ --->生成鏈接文件 lik ,程序數據庫文件pdb
中間目錄 = $(Configuration)\
鏈接器 ---> 輸出文件$(TargetPath) = $(OutDir)$(TargetName)$(TargetExt) --->最終決定生成的exe文件所在位置
系統變量輸出目錄$(OutDir)的值由VS項目屬性中的輸出目錄來決定,$(TargetDir)和$(TargetPath)由VS項目屬性中的輸出文件來決定。
工程屬性頁------> 配置屬性---> 調試 工作目錄 = $(ProjectDir) --> 應用程序的工作目錄,默認情況下,為包含項目文件(*.vcproj)的目錄,在實際程序中,通過GetCurrentDirectory來獲得。
GetModuleFileName 此函數用於獲得當前應用程序的執行目錄,還包括當前應用程序名。工作目錄就像是一個人住的地方,執行目錄就像是實際工作的地方,工作目錄是VS專門為了調試(DEBUG 或者 RELEASE)而准備的,啟動調試后,啟動一個新進程,將這個新進程的工作目錄設置為VS工程調試屬性中的工作目錄,然后新進程啟動對應的exe程序,實現監控調試程序的功能。這是在VS調試環境下啟動程序,如果是直接雙擊執行,操作系統會新建一個進程,自動將這個進程的工作目錄設置為exe文件所在的目錄,然后啟動。因此,在正式發布時,需要把工作目錄下的可能用到的文件全部拷貝到exe所在目錄下,才能正常運行。
工程屬性頁------> 配置屬性 ---> 命令 $(TargetPath) ,表示調試器要啟動的exe文件的具體位置。
工程屬性頁 -----> 配置屬性 -----> 鏈接器 ---> 輸入---->附加依賴庫 ---> 輸入需要鏈接的靜態庫名稱即可,靜態庫的搜索路徑在別處設置。
常用宏一欄: