前言
在本文章中,並不像其他的小型工程拷貝一些庫的原始碼,直接新增到工程中,而是作為乙個專案,新增到
工程中,並且通過設定專案的依賴項,完成工程的單步除錯(選擇屬性,c/c++ 優化 禁用優化)。解決
方案配置成release,好處在於呼叫乙個release版本的第三方dll,能夠無縫的執行。(本文沒有涉及到討
論顯式動態載入dll)
說明工程包括test(可執行程式),agg(靜態庫),iconv(動態庫)
建立工程目錄如下
工程目錄games\
操作步驟
1 構建agg靜態庫
新建乙個win32專案,名稱agg,選擇應用程式型別:靜態庫.將agg庫的檔案拷貝到agg專案下,將agg中include標頭檔案拷貝到include\agg\目錄下,新增原始碼檔案到工程中。
配置屬性:
管理員 輸出檔案 ..\..\lib\agg.lib
2 構建zlib動態庫
新建乙個win32專案,名稱為zlib,選擇應用程式型別:dll。提供給外部使用的類或者函式都需要使用關鍵字進行修飾:__declspec(dllexport),說明將其匯出。
屬性配置:
鏈結器:常規 輸出檔案..\..\release\zlib.dll
鏈結器:高階 導入庫 ..\..\lib\zlib.lib
生成事件 生成後事件 copy .\zlib.h ..\..\include\zlib
3. 構建test可執行程式
新建乙個win32控制台應用程式,名稱為test,然後位置選擇,已經建立好的games\src,建立乙個test的工程,沒有選中建立解決方案的目錄(該選項會為工程額外建立乙個目錄存放原始碼,沒有選中,把源代
碼和sln解決方案檔案放在同乙個目錄,剩下的專案也是這樣子設定)。開啟專案的依賴性,將agg,zlib
選中,然後就可以除錯了
屬性配置:
c/c++ 附加包含目錄 ..\..\include
鏈結器 附加依賴項 zlib.lib agg.lib
鏈結器 常規 ..\..\release\game.exe
大型工程會進行如下的設定:
1)每乙個c++專案都有自己的命名空間,除了新增的c庫
2)檔名小寫,宣告字首,std等等規定
清除vs2005最近專案
有時候vs2005起始最近開啟專案過多很想清除掉,但打遍了也沒找到清除選項在 終於找到了手工操作方法 1 刪除最近開啟的檔案 執行regedit,開啟hkey current user software microsoft visualstudio 8.0 filemrulist 之後,在右邊刪除相...
由CMake構建的vs2005專案的弊端之我見
距離第一次使用cmake已經3 4個月了,雖然這個工具能由徹頭徹尾的源 生成各種ide下面的專案 但我還是感到很不爽,因為所生成出來的專案並不完全等同於真正意義上的實打實的專案,這個不容易理解 我可以舉個例子,如同我將box2d的原始碼生成為vs2005的專案之後 ok,雖然雙擊build出來的.s...
由CMake構建的vs2005專案的弊端之我見
距離第一次使用cmake已經3 4個月了,雖然這個工具能由徹頭徹尾的源 生成各種ide下面的專案 但我還是感到很不爽,因為所生成出來的專案並不完全等同於真正意義上的實打實的專案,這個不容易理解 我可以舉個例子,如同我將box2d的原始碼生成為vs2005的專案之後 ok,雖然雙擊build出來的.s...