您好,登錄后才能下訂單哦!
前言
一個(gè)項(xiàng)目工程就是一個(gè)解決方案有唯一的一個(gè)sln文件。一個(gè)解決方案可以有多個(gè)項(xiàng)目。在當(dāng)前負(fù)責(zé)的工程,有25個(gè)項(xiàng)目構(gòu)成,可以說是25個(gè)模塊。工程中的項(xiàng)目可以是一個(gè)靜態(tài)庫,動(dòng)態(tài)庫,或者是一個(gè)可執(zhí)行程序。在本文章中,并不像其他的小型工程拷貝一些庫的源碼,直接添加到工程中,而是作為一個(gè)項(xiàng)目,添加到工程中,并且通過設(shè)置項(xiàng)目的依賴項(xiàng),完成工程的單步調(diào)試(選擇屬性,C/C++ 優(yōu)化 禁用優(yōu)化)。解決方案配置成Release,好處在于調(diào)用一個(gè)Release版本的第三方dll,能夠無縫的運(yùn)行。(本文沒有涉及到討論顯式動(dòng)態(tài)加載dll)
說明
工程包括test(可執(zhí)行程序),agg(靜態(tài)庫),iconv(動(dòng)態(tài)庫)
創(chuàng)建工程目錄如下
工程目錄Games\
----release\(版本發(fā)布的目錄)
----include\(每一個(gè)項(xiàng)目都將頭文件拷貝到這個(gè)目錄下以自己工程名稱為目錄名的目錄下)
------agg\頭文件
------zlib\頭文件
----lib\(每一個(gè)項(xiàng)目都將lib拷貝到這個(gè)目錄下以自己工程名為文件名)
------agg.lib
------zlib.lib
----src\(每一個(gè)項(xiàng)目的源碼都放在該目錄)
------agg\
------zlib\
------test\
操作步驟
1 構(gòu)建agg靜態(tài)庫
新建一個(gè)Win32項(xiàng)目,名稱agg,選擇應(yīng)用程序類型:靜態(tài)庫.將agg庫的文件拷貝到agg項(xiàng)目下,將agg中include頭文件拷貝到include\agg\目錄下,添加源碼文件到工程中。
配置屬性:
管理員 輸出文件 ..\..\lib\agg.lib
2 構(gòu)建zlib動(dòng)態(tài)庫
新建一個(gè)Win32項(xiàng)目,名稱為zlib,選擇應(yīng)用程序類型:dll。提供給外部使用的類或者函數(shù)都需要使用關(guān)鍵字進(jìn)行修飾:__declspec(dllexport),說明將其導(dǎo)出。
屬性配置:
鏈接器:常規(guī) 輸出文件..\..\release\zlib.dll
鏈接器:高級(jí) 導(dǎo)入庫 ..\..\lib\zlib.lib
生成事件 生成后事件 copy .\zlib.h ..\..\include\zlib
3. 構(gòu)建test可執(zhí)行程序
新建一個(gè)Win32控制臺(tái)應(yīng)用程序,名稱為test,然后位置選擇,已經(jīng)建立好的Games\src,創(chuàng)建一個(gè)test的工程,沒有選中創(chuàng)建解決方案的目錄(該選項(xiàng)會(huì)為工程額外創(chuàng)建一個(gè)目錄存放源碼,沒有選中,把源代碼和sln解決方案文件放在同一個(gè)目錄,剩下的項(xiàng)目也是這樣子設(shè)置)。打開項(xiàng)目的依賴性,將agg,zlib選中,然后就可以調(diào)試了
屬性配置:
C/C++ 附加包含目錄 ..\..\include
鏈接器 附加依賴項(xiàng) zlib.lib agg.lib
鏈接器 常規(guī) ..\..\release\game.exe
大型工程會(huì)進(jìn)行如下的設(shè)定:
1)每一個(gè)C++項(xiàng)目都有自己的命名空間,除了添加的C庫
2)文件名小寫,聲明前綴,std等等規(guī)定
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。