ACE (ADAPTIVE Communication Environment) 是個好東西,好東西要使用才能展現價值,要使用就得擁有。那麼,ACE入門的第一課自然就是在自已的系統上建構 ACE !
ACE 是跨平台的,這是它一個很重要的特性,我也就是沖着這個特性而來。ACE支援很多的作業系統,我的目标是兩個,一個是 Windows, 一個是 Linux。
ACE 的作者 Douglas C. Schmidt 傳言中每天隻睡三個小時,三個小時裡還在收發 EMail。我當然不是,但幾個系統折騰下來,當晚我也隻睡了 3.5 小時 。 閑話少說,下面列出步驟,希望能給後來者一點幫助:
1. 下載下傳Latest Release
2. 然後打開官方的安裝說明做準備
3. 在 Windows2003 中用 vc7.1 建構
windows 的使用以易用而著稱,這次也不例外。 安裝說明的 Building and Installing ACE on Windows with Microsoft Visual C++ 節詳細說明了如何安裝。
我想用 ACE 建構跨平台應用,是以我隻選擇我要的東西:
3.1 将 ACE-5.4.tar.gz 解壓,有一個 ACE_wrappers 目錄。這個将做為 ACE_ROOT。
3.2 在 ACE_ROOT\ace 目錄建立一個名為 config.h的檔案。編輯檔案并加入以下内容
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"
其中第一行是因為我想用标準C++跨平台,第二行則是必須要的。
3.3 在 ACE_ROOT\ace 中找到 ace.dsw,用 vc7.1 打開。因為目前編譯器版本高,會提示你轉換。 轉換後,在 Debug 和 Release 狀态,在 Solution Explorer/ACE 上點 Rebuild,然後伏案小憩。 在ACE_ROOT\lib 目錄會生成我們所要的 dll 和 lib 檔案。
3.4 就這樣搞定,夠簡單吧
4. 在 RedHat9 中用 G++3.2.2 建構
Linux 則要麻煩不少,網上有不少貼子,說安裝多難,說 ACE-INSTALL.html 不對。呵, 這個觀點倒是誤導了我,我隻睡了 3.5 小時與此 有極大的關系。其實,ACE-5.4 的安裝,隻要按說明步步行來,自然水到渠成。關鍵是要找對指引。詳細步驟看安裝說明的 Building ACE with GNU Autoconf 節
4.0 做一些準備動作 (這幾步有的可後做,但到了編譯自已的項目時還是要用到)
在 $HOME目錄的.bash_profile 檔案中加入
ACE_ROOT=$HOME/ThirdParty/ACE_wrappers
export ACE_ROOT
在 $ACE_ROOT/ace 目錄建立 config.h 并加入
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-linux.h"
在 $ACE_ROOT/include/makeinclude 目錄建立 platform_macros.GNU 并加入
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
4.1 cd 指令進入 ACE_wrappers 目錄.
4.2 然後敲下面兩個指令
mkdir build
cd build
4.3 運作 ../configure [options] 為你的平台配置 ACE 。我沒有使用任何選項
$ ls -a lib*so*
看到檔案已生成
$ libACE.so libACE.so.5 libACE.so.5.4.0
結尾...
時間又到了晚上一點, 是跟周公一起吹水的時間了,鍵盤和滑鼠,就停在這裡