吴尔平

    ACE (ADAPTIVE Communication Environment)
 是个好东西,好东西要使用才能体现价值,要使用就得拥有。那么,ACE入门的第一课自然就是在自已的系统上构建 ACE ! 

    ACE 是跨平台的,这是它一个很重要的特性,我也就是冲着这个特性而来。ACE支持很多的操作系统,我的目标是两个,一个是 Windows, 一个是 Linux。 

    ACE 的作者 Douglas C. Schmidt 传言中每天只睡三个小时,三个小时里还在收发 EMail。我当然不是,但几个系统折腾下来,当晚我也只睡了 3.5 小时 。 闲话少说,下面列出步骤,希望能给后来者一点帮助:

1. 下载Latest Release 

    下载地址在 http://deuce.doc.wustl.edu/Download.html。写这篇 blog 时是 5.4。  我现在仅仅需要 ACE,所以我选择下了这个包     ACE-5.4.tar.gz 共 7.56M,很快可以下完。

2.  然后打开官方的安装说明做准备 

    地址  http://www.cs.wustl.edu/~schmidt/ACE_wrappers/ACE-INSTALL.html#installpre

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++跨平台,第二行则是必须要的
            要用UNICODE,加#define ACE_USES_WCHAR 1

      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 。我没有使用任何选项  

      4.4 键入命令 make ,会发现 RedHat9 默认 autoconf 版本不够,去   http://sourceforge.net/project/showfiles.php?group_id=23617&package_id=52357 下载一个新的版本 autoconf-2.59.tar.gz 并解压安装 (使用./configure 和 make install)。 再次键入 make 构建 ACE。构建时间可以冲一杯coffee 。  成功后在 $ACE_ROOT/build/ace/.libs 生成许多文件,键入
   $ ls -a lib*so*  

    看到文件已生成 

   $ libACE.so  libACE.so.5  libACE.so.5.4.0   

结尾...
时间又到了晚上一点, 是跟周公一起吹水的时间了,键盘和鼠标,就停在这里