ACE的编译与安装(linux篇)

(一)源码包获取

  这个和windows篇的相同,不再赘述!

 

(二)编译步骤

1、 用tar zxvf命令解压至一目录,如:/usr/local/ACE_wrappers

2、 在源码解压目录下创建一个编译目录如objdir,即/usr/local/ACE_wrappers/objdir

3、 cd objdir,执行../configure && make && make install;

 

注:如果RP足够好,编译能很顺利完成,但我在编译时出一许多问题,在网上找了一圈资料,发现和我类似的哥们很多:(,现小结如下

1)遇到couldn't find openssl/bio.h错误

解决办法:

先检查机器上是否安装openssl,建议最好,安装一个最新版本的,到http://www.openssl.org/source/上下一个下载,我安装的是1.0.0.0的,安装好以后,bio.h 文件在 /usr/local/ssl/include/openssl/bio.h 目录中,简单的办法是:

用 root 用户进行下面的操作.
 cd /usr/include
 ln -s /usr/local/ssl/include/openssl openssl

 

2)链接时碰到下面一大堆错误:

client-SSL-client.o: In function `ACE_SSL_SOCK_Stream::close()':
../../../../ace/SSL/SSL_SOCK_Stream.i:278: undefined reference to `SSL_shutdown'
../../../../ace/SSL/SSL_SOCK_Stream.i:280: undefined reference to `SSL_get_error'
../../../../ace/SSL/SSL_SOCK_Stream.i:289: undefined reference to `SSL_clear'

解决办法:

在当胶编译目录下,分别找到examples/IPC_SAP/SSL_SAP/Makefile和tests/SSL/Makefile两个文件,在里面找到"LIBS = -lrt -ldl" 这一项,将其修改为:
LIBS = -lrt -ldl /usr/lib/libssl.a /usr/lib/libcrypto.a
上面两个.a静态库的路径以你实际存放的路径为准

 

(三)hello, world

复用前面的例子,呵,先享受ACE带到跨平台的优势了:)

#include "ace/ACE.h"
#include "ace/OS_NS_stdio.h"
#include <iostream>
using namespace std;
int main (int argc, char *argv[])
{
    char msg[100] = {0};
    ACE_OS::sprintf(msg, "hello %s ", "world");
    cout << msg << endl;
    return 0;
}
执行g++ -g -o hello hello.cpp -lACE编译,然后运行./hello,熟悉的hello, world出现了

 

到这里ACE的编译环境搭建完毕了,从此,开始ACE的学习征途了!~~

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值