溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

VS2005 構(gòu)建軟件項(xiàng)目

發(fā)布時(shí)間:2020-05-27 14:41:10 來源:網(wǎng)絡(luò) 閱讀:519 作者:fengyuzaitu 欄目:系統(tǒng)運(yùn)維

前言

    一個(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ī)定


向AI問一下細(xì)節(jié)

免責(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)容。

AI