安装ace完整步骤

本文提供ACE库在Unix环境下的安装步骤,包括准备openssl和ACE安装文件,调整makefile以链接libssl.a和libcrypto.a,并解决链接顺序问题。建议配合官方文档使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

强烈建议先看官方文档 此文章只做为辅助性文章

http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix

本文只记录步骤,不作多余说明。

步骤一:准备相关文件

准备好openssl安装文件

准备ACE安装文件 

http://download.dre.vanderbilt.edu/
文件获取我基本上是通过google进入官网下载最新的稳定版本。

步骤二:准备libssl.a , libcrypto.a并安装openssl

其实只要下载好openssl就可在其安装包内找到两个.a文件,makeace时直接链接进去即可

cp openssl-1.0.0e.tar.gz    /tmp
tar zxvf openssl-1.0.0e.tar.gz
cd openssl-1.0.0e
./Configure linux-generic64 --prefix=$(pwd)\SSSSL
vi Makefile
make  
make   install
cd $(pwd)\SSSSL
cd lib
cp libssl.a /usr/lib/
cp libcrypto.a /usr/lib/
完成libssl.a , libcrypto.a的准备;
下面开始安装openssl:
cd /tmp
cd openssl-1.0.0e
./Configure 
vi Makefile 
make 
make   install

安装完毕。

步骤二点五:  platform_macros.GNU。

在实际操作中也可以直接创建一个软链接:
 
cd $(ACE_ROOT)/include/makeinclude/
ln -s platform_linux.GNU platform_macros.GNU

步骤三:安装配置ACE
mkdir /code
cp ACE+TAO+CIAO-6.0.0.tar.bz2
tar jxvf ACE+TAO+CIAO-6.0.0.tar.bz2
cd ACE_wrappers
参照ACE官网的安装说明,配置环境变量并添加相应文件:
vi /etc/profile
在尾部添加如下内容:
ACE_ROOT=/code/ACE_wrappers;
export ACE_ROOT
LD_LIBRARY_PATH=/code/ACE_wrappers/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
保存并执行
source /etc/profile
添加config.h文件:
vi  ace/config.h
添加
#include "ace/config-linux.h"
保存并退出
添加platform_macros.GNU文件
vim $ACE_ROOT/include/makeinclude/platform_macros.GNU
添加
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
保存并退出
下面开始安装:
mkdir build
cd build
../configure
修改Makefile解决找不到libssl.a , libcrypto.a的问题
vi  /code/ACE_wrappers/build/examples/IPC_SAP/SSL_SAP/Makefile
vi  /code/ACE_wrappers/build/tests/SSL/Makefile

搜索-lrt -ldl

找到libcrypto.a 等两个文件的路径,改写上述makefile

rpm -ql openssl

改为-lrt -ldl  /usr/lib/libssl.a /usr/lib/libcrypto.a 

注意:ssl必须在 crypto之前

The solution is simple, for some reason, when linking the library, -lssl must be in front of -lcrypto.

编译:
make 
安装
make  install
步骤四:验证ACE安装
vi test.cpp
#include "ace/Log_Msg.h"

int ACE_TMAIN(int, ACE_TCHAR *[]) {
    ACE_DEBUG((LM_DEBUG, ACE_TEXT("Hello, ACE !\n")));
    return 0;
}
编译:
g++ -o test test.cpp -lACE
木有出错,但执行时却出现如下提示:
./test
error while loading shared libraries: libACE-6.0.0.so: cannot open shared object file: No such file or directory
处理如下:
vi  /etc/ld.so.conf.d/ace.conf
添加
/usr/lib
保存并执行

$ sudo ldconfig /usr/local/lib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值