`
kanwoerzi
  • 浏览: 1644539 次
文章分类
社区版块
存档分类
最新评论

ACE入门 (一)构建

 
阅读更多
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

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

相关推荐

Global site tag (gtag.js) - Google Analytics