CentOS环境下ACE编译指南
1.环境说明:
(1)CentOS6.3
(2) ACE6.10
2.编译步骤:
(1)定义环境变量:
ACE_ROOT=/root/work/cots/ACE_wrappers;export ACE_ROOT
LD_LIBRARY_PATH=$ACE_ROOT/lib;export LD_LIBRARY_PATH
也可以直接设置到~/.bashrc 中
export
ACE_ROOT=***/ACE_wrappers
export
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace:$ACE_ROOT/lib
export
TAO_ROOT=$ACE_ROOT/TAO
(2)新建config.h
在ACE_wrappers/ace目录下新建config.h,包含下面一句话:
#include "ace/config-linux.h"
(3) 新建platform_macros.GNU
在ACE_wrappers/include/makefileinclude目录下新建文件 platform_macros.GNU
包含内容:
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
INSTALL_PREFIX = /usr/local
(4)make
(5)make install
3.验证ACE是否成功
进入$ACE_ROOT,然后make,漫长的等待后,没有报错停止的情况下,可以写一个小程序来测试一下,test.cpp:
1#include
"ace/Log_Msg.h"
2 int ACE_TMAIN(int arg,ACE_TCHAR * argv[])
3{
4 ACE_DEBUG((LM_DEBUG,ACE_TEXT("Hello
Ace")));
5 return 0;
6}
编译连接程序,命令:gcc
test.cpp -lACE -L $ACE_ROOT/lib
a.out
完成。
4、安装TAO
cd
$TAO_ROOT
find
. -name "*GNUmakefile*" | xargs rm
重新生成Makefile文件:
$ACE_ROOT/bin/mwc.pl -type gnuace TAO_ACE.mwc
$make5. 启动命名服务
参见ACE_wrappers\TAO\docs\tutorials\Quoter\index.html 下文档“TAO's Naming Service”一项:
$TAO_ROOT/orbsvcs/Naming_Service/Naming_Service -ORBEndpoint iiop://199.3.13.7:12001 -m 1
6.启动事件服务
参见ACE_wrappers\TAO\docs\tutorials\Quoter\index.html 下文档“TAO's COS Event Service”一项:
$TAO_ROOT/orbsvcs/CosEvent_Service/CosEvent_Service
7.启动通知服务
参见ACE_wrappers\TAO\orbsvcs\Notify_Service\README:
$TAO_ROOT/orbsvcs/Notify_Service/Notify_Service -Factory NotifyEventChannelFactory -NameSvc -Channel NotifyEventChannel -ORBRunThreads 1 -ORBEndpoint iiop://199.3.13.7:12002 8.检查服务运行状况
netstat -an | grep 1200
tcp 0 0 199.3.13.7:12001 0.0.0.0:* LISTEN tcp 0 0 199.3.13.7:12002 0.0.0.0:* LISTEN tcp 0 0 199.3.13.7:12001 199.3.13.7:33307 ESTABLISHED tcp 0 0 199.3.13.7:12001 199.3.13.7:33303 ESTABLISHED tcp 0 0 199.3.13.7:33307 199.3.13.7:12001 ESTABLISHED tcp 0 0 199.3.13.7:33303