天天看點

ACE編譯過程(轉載)

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    

結尾... 

時間又到了晚上一點, 是跟周公一起吹水的時間了,鍵盤和滑鼠,就停在這裡

繼續閱讀