Posted on 2013-11-15 16:26
kongkongzi 阅读(489)
评论(0) 编辑 收藏 引用 所属分类:
c++ network library
- 在Windows上编译ACE:
-
- 安装ActivePerl-5.14
- 设置环境变量ACE_ROOT
- 创建文件 $ACE_ROOT/ace/config.h,写入如下内容
- #include "ace/config-win32.h"
- X:\third\ACE_wrappers>bin\mwc.pl -type vc9 ACE.mwc
- 打开ACE.sln编译
- 在Linux上编译ACE:
- 设置环境变量
- vim ~/.bashrc
- export ACE_ROOT=/home/yourname/ACE_wrappers
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace
- 创建文件 $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
- 可以在 platform_macros.GNU 里写入 INSTALL_PREFIX=/home/yourname/ace_install_dir/ 来制定输出目录
- ./bin/mwc.pl -static -type make ACE.mwc
- make ACE
- 生成:ar rv ../lib/libACE.a Local_Name_Space.o ....o
- 支持使用ACE_Dev_Poll_Reactor:
- Dev_Poll_Reactor这个文件编译需要定义ACE_HAS_EVENT_POLL宏,否则跳过,不编译。于是在config.h里面加入了#define ACE_HAS_EVENT_POLL,重新编译库,再重新编译测试文件,全部成功,运行正常。
- 注意生成的libACE.a的路径和你程序连接的路径是否一致。一般通过MPC生成的库存在于$(ACE_ROOT)/lib/目录下,而通过autoconf 和 automake生成的库存在于$(ACE_ROOT)/build/ace/.libs/目录下。
参考:
http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/MPC/docs/USAGE