*************構建ACE:
1、下載,解壓縮ACE包,設置環境變量PATH包含$ACE_ROOT$/bin
2、設置$ACE_ROOT$/ace/config.h,加入一行:(該語句是ACE針對WIN32平臺的配置文件)
#include "ace/config-win32.h"
注意:
A、如果你使用9x/Me,加入:
#define ACE_HAS_WINNT4 0
B、如果你要使用標準C++頭文件的話
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
C、要使用MFC的話
#define ACE_HAS_MFC 1
以上的define語句都要在#include "ace/config-win32.h"之前包含
3、VC6打開$ACE_ROOT$/ace/ace.dsw,VC.net打開$ACE_ROOT$/ace/ace/ace.sln,構建ACE
4、構建成功與否,可打開$ACE_ROOT$/tests下的工程文件看看能不能編譯通過
其實,如果你初學ACE的話,暫時還不想涉及上面煩瑣的步驟的話,可以找一個.exe安裝包,安裝完成之后,打開ace.dsw/ace.sln即可構建
了;偶開始學ACE的時候,就是使用《ACE程序員指南 網絡與系統編程的實用設計模式》書后自帶光盤中ACE53b.exe安裝、構建的。
**************在你的程序中使用ACE方法:打開項目-->設置:
C/C++選項卡
Code Generation:選擇多線程版的運行時庫(如:Debug Multithreaded DLL)
Proprocessor:在“附加包含路徑”中包含$ACE_ROOT$
Link選項卡
Input:在“對象/庫模塊”包含適當的ACE庫文件名(附表A)
加上.lib,如:aced.lib,acesd.lib等
Input:在“附加庫路徑”中包含$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環境構建筆記(Linux) :)
**************構建ACE**************
1:下載ACE源碼包。我下的是5.4版的,文件名為ACE54SRC.tar.gz。gzip解壓,tar解包后,得到一個叫ACE_wrappers
的目錄,我把它放在/home/lok/ace目錄下。注意如果我沒有特別說明,所有操作都是在一般用戶下進行的。
2:編譯前的必要工作。
設置環境變量,在shell下輸入:ACE_ROOT=/home/lok/ace/ACE_wrappers; export ACE_ROOT
(注意上面的操作是在同一行中執行的,如果要分行,可以不用分號)。這樣設置的變量只是臨時的,如果想要永久保存這個變量,可以切換到root,把變量寫到文件/etc/profile中;
在$ACE_ROOT/ace目錄下新建一個config.h文件,內容為:#include "ace/config-linux.h"
在$ACE_ROOT/include/makeinclude目錄下新建一個platform_macros.GNU文件,內容為:include
$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
3:在$ACE_ROOT目錄下,新建一個目錄,用以執行configure的結果
mkdir aaa
cd aaa
在$ACE_ROOT/aaa中運行
../configure
在確認結果無誤后,執行
make
4:切換到root用戶,把剛生成的libACE.so和libACE.so.5.4.0(在$ACE_ROOT/ace目錄下)拷貝到/usr/lib,ACE開發環境構建完畢!
**************寫個小程序測試ACE**************
1:編寫Log_Msg.cpp,內容如下:
#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:寫makefile,內容如下:
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,運行Log_Msg,測試完畢!
***************補充*************
$(ACE_ROOT)/example下有很多例子可以參考,但你會發現它們的makefile寫得很奇怪,這是因為這些makefile是由程序自動
生成的,目的是讓它們可以在不同系統下都可正常工作。關于這些makefile,可以到http://www.kehui.net
/index.php?op=article&file=read&aid=30812去看一下。如果你的程序只需要在linux下工
作,那只要自己寫上-lACE就可以了。
posted on 2008-12-26 23:57
。。。。 閱讀(1016)
評論(0) 編輯 收藏 引用 所屬分類:
ACE