前言
一個項目工程就是一個解決方案有唯一的一個sln檔案。一個解決方案可以有多個項目。在目前負責的工程,有25個項目構成,可以說是25個子產品。工程中的項目可以是一個靜态庫,動态庫,或者是一個可執行程式。在本文章中,并不像其他的小型工程拷貝一些庫的源碼,直接添加到工程中,而是作為一個項目,添加到工程中,并且通過設定項目的依賴項,完成工程的單步調試(選擇屬性,C/C++ 優化 禁用優化)。解決方案配置成Release,好處在于調用一個Release版本的第三方dll,能夠無縫的運作。(本文沒有涉及到讨論顯式動态加載dll)
說明
工程包括test(可執行程式),agg(靜态庫),iconv(動态庫)
建立工程目錄如下
工程目錄Games\
----release\(版本釋出的目錄)
----include\(每一個項目都将頭檔案拷貝到這個目錄下以自己工程名稱為目錄名的目錄下)
------agg\頭檔案
------zlib\頭檔案
----lib\(每一個項目都将lib拷貝到這個目錄下以自己工程名為檔案名)
------agg.lib
------zlib.lib
----src\(每一個項目的源碼都放在該目錄)
------agg\
------zlib\
------test\
操作步驟
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等等規定
本文轉自fengyuzaitu 51CTO部落格,原文連結:http://blog.51cto.com/fengyuzaitu/1946795,如需轉載請自行聯系原作者