*************構(gòu)建ACE:
1、下載,解壓縮ACE包,設(shè)置環(huán)境變量PATH包含$ACE_ROOT$/bin
2、設(shè)置$ACE_ROOT$/ace/config.h,加入一行:(該語(yǔ)句是ACE針對(duì)WIN32平臺(tái)的配置文件)
#include "ace/config-win32.h"
注意:
A、如果你使用9x/Me,加入:
#define ACE_HAS_WINNT4 0
B、如果你要使用標(biāo)準(zhǔn)C++頭文件的話(huà)
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
C、要使用MFC的話(huà)
#define ACE_HAS_MFC 1
以上的define語(yǔ)句都要在#include "ace/config-win32.h"之前包含
3、VC6打開(kāi)$ACE_ROOT$/ace/ace.dsw,VC.net打開(kāi)$ACE_ROOT$/ace/ace/ace.sln,構(gòu)建ACE
4、構(gòu)建成功與否,可打開(kāi)$ACE_ROOT$/tests下的工程文件看看能不能編譯通過(guò)
其實(shí),如果你初學(xué)ACE的話(huà),暫時(shí)還不想涉及上面煩瑣的步驟的話(huà),可以找一個(gè).exe安裝包,安裝完成之后,打開(kāi)ace.dsw/ace.sln即可構(gòu)建
了;偶開(kāi)始學(xué)ACE的時(shí)候,就是使用《ACE程序員指南 網(wǎng)絡(luò)與系統(tǒng)編程的實(shí)用設(shè)計(jì)模式》書(shū)后自帶光盤(pán)中ACE53b.exe安裝、構(gòu)建的。
**************在你的程序中使用ACE方法:打開(kāi)項(xiàng)目-->設(shè)置:
C/C++選項(xiàng)卡
Code Generation:選擇多線(xiàn)程版的運(yùn)行時(shí)庫(kù)(如:Debug Multithreaded DLL)
Proprocessor:在“附加包含路徑”中包含$ACE_ROOT$
Link選項(xiàng)卡
Input:在“對(duì)象/庫(kù)模塊”包含適當(dāng)?shù)腁CE庫(kù)文件名(附表A)
加上.lib,如:aced.lib,acesd.lib等
Input:在“附加庫(kù)路徑”中包含$ACE_ROOT$/ace
**************附表A:
-----------------------------------------------------------
配置 文件名
-----------------------------------------------------------
DLL debug aced
DLL release ace
Static library debug acesd
Static library release aces
MFC DLL debug acemfcd
MFC DLL release acemfc
-----------------------------------------------------------
英文比較好的,可直接查看$ACE_ROOT$/ACE-INSTALL.html#msvc
ACE環(huán)境構(gòu)建筆記(Linux) :)
**************構(gòu)建ACE**************
1:下載ACE源碼包。我下的是5.4版的,文件名為ACE54SRC.tar.gz。gzip解壓,tar解包后,得到一個(gè)叫ACE_wrappers
的目錄,我把它放在/home/lok/ace目錄下。注意如果我沒(méi)有特別說(shuō)明,所有操作都是在一般用戶(hù)下進(jìn)行的。
2:編譯前的必要工作。
設(shè)置環(huán)境變量,在shell下輸入:ACE_ROOT=/home/lok/ace/ACE_wrappers; export ACE_ROOT
(注意上面的操作是在同一行中執(zhí)行的,如果要分行,可以不用分號(hào))。這樣設(shè)置的變量只是臨時(shí)的,如果想要永久保存這個(gè)變量,可以切換到root,把變量寫(xiě)到文件/etc/profile中;
在$ACE_ROOT/ace目錄下新建一個(gè)config.h文件,內(nèi)容為:#include "ace/config-linux.h"
在$ACE_ROOT/include/makeinclude目錄下新建一個(gè)platform_macros.GNU文件,內(nèi)容為:include
$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
3:在$ACE_ROOT目錄下,新建一個(gè)目錄,用以執(zhí)行configure的結(jié)果
mkdir aaa
cd aaa
在$ACE_ROOT/aaa中運(yùn)行
../configure
在確認(rèn)結(jié)果無(wú)誤后,執(zhí)行
make
4:切換到root用戶(hù),把剛生成的libACE.so和libACE.so.5.4.0(在$ACE_ROOT/ace目錄下)拷貝到/usr/lib,ACE開(kāi)發(fā)環(huán)境構(gòu)建完畢!
**************寫(xiě)個(gè)小程序測(cè)試ACE**************
1:編寫(xiě)Log_Msg.cpp,內(nèi)容如下:
#include "ace/Log_Msg.h"
void foo (void);
int ACE_TMAIN (int, ACE_TCHAR *[])
{
ACE_TRACE(ACE_TEXT ("main"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHi Mom\n")));
foo();
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IGoodnight\n")));
return 0;
}
void foo (void)
{
ACE_TRACE (ACE_TEXT ("foo"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("%IHowdy Pardner\n")));
}
2:寫(xiě)makefile,內(nèi)容如下:
LIB = -lACE
LIBPATH = -L$(ACE_ROOT)/ace
HPATH = -I$(ACE_ROOT)
Log_Msg : Log_Msg.cpp
g++ Log_Msg.cpp -o Log_Msg $(LIB) $(LIBPATH) $(HPATH)
3:make,運(yùn)行Log_Msg,測(cè)試完畢!
***************補(bǔ)充*************
$(ACE_ROOT)/example下有很多例子可以參考,但你會(huì)發(fā)現(xiàn)它們的makefile寫(xiě)得很奇怪,這是因?yàn)檫@些makefile是由程序自動(dòng)
生成的,目的是讓它們可以在不同系統(tǒng)下都可正常工作。關(guān)于這些makefile,可以到http://www.kehui.net
/index.php?op=article&file=read&aid=30812去看一下。如果你的程序只需要在linux下工
作,那只要自己寫(xiě)上-lACE就可以了。
posted on 2008-12-26 23:57
。。。。 閱讀(1016)
評(píng)論(0) 編輯 收藏 引用 所屬分類(lèi):
ACE