ubuntu上lib-ace库安装编译

 描述下本人电脑情况:

 虚拟机版本:VMware-workstation-full-v7.1.4;

 ACE版本:ACE6.0.0

 虚拟机[Linux](http://lib.csdn.net/base/linux)版本:Ubuntu10.10 Desktop;

 安装ACE,最简单的方法,是直接apt-get安装
sudo apt-get install libace-dev  
这样,ace文件则位于/usr/include下,libACE.so位于/usr/lib下,楼主机器的libace-dev版本为5.6.3-6

也可以手动下载源码编译安装:

1、到 [http://download.dre.vanderbilt.edu/](http://download.dre.vanderbilt.edu/)下载ACE源码,拷贝到虚拟机目录/home/xia/,并解压
xia@ubuntu:~$ tar -xvf ACE-6.0.0.tar.bz2   
2、进入ACE顶级目录,并创建文件夹
xia@ubuntu:~$ cd ACE_wrappers/  
xia@ubuntu:~/ACE_wrappers$ mkdir objdir  
xia@ubuntu:~/ACE_wrappers$ cd objdir  
xia@ubuntu:~/ACE_wrappers/objdir$   

3、配置

xia@ubuntu:~/ACE_wrappers/objdir$ ../configure  

配置完成后,objdir文件就下会有很多文件,包括Makefile,如下:

img

4、编译

xia@ubuntu:~/ACE_wrappers/objdir$ sudo make  
这里直接make会得到以下错误:

error: openssl/bio.h: no such file or dictionary,参考文档ACE-SSL,需要安装openssl,于是安装

xia@ubuntu:~/ACE_wrappers/objdir$ sudo apt-get install openssl  
 安装后问题依旧,安装libssl-dev,ssl开发包
xia@ubuntu:~/ACE_wrappers/objdir$ sudo apt-get install libssl-dev         
 再次make,遇到错误,

undefined reference to `SSL_read’

全部是ssl前缀的项找不到,于是修改makefile文件,让其编译时加载ssl库,找到Makefile中如下内容:

LIBS = -lrt -ldl    
在其后添加上**-lssl**,再次make,通过

(补充于11月13日:之后再次安装openssl的时候,采用的是下载源码安装,可以参考:http://www.cnblogs.com/blueclue/archive/2010/12/21/1911603.html 的解决方法,手动在test/SSL下的Makefile和examples/IPC_SAP/SSL_SAP中的Makefile中指定ssl库,如编译源码安装,则路径完全与以上参考所示相同)

5、安装

xia@ubuntu:~/ACE_wrappers/objdir$ sudo make install  
这里采用sudo ,而不是直接make install,因为,直接make install,在ubuntu下,会得到permission deny的错误。

至此,搞定,ace文件在/usr/local/include下,而libACE.so位于/usr/local/lib下

ps:这里安装的ACE6.0与直接apt-get方式安装的ACE,头文件会有一些不同的地方,如编译安装方式,则include/ace下没有OS.h和OS_String.h这两个文件,很多ACE的示范代码也是以前的,所以会遇到一些问题,不过不大

参考网址:

1、博客园http://www.cnblogs.com/blueclue/archive/2010/12/21/1911603.html

2、ACE在线文档:http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix_traditional

另外ACE文档推荐网站:http://www.acejoy.com/,其中有个帖子貌似不错http://www.acejoy.com/bbs/viewthread.php?tid=1260&extra=page%3D1

转自:http://blog.csdn.net/coder_xia/article/details/6873813

原文地址:https://www.cnblogs.com/unclemac/p/12783433.html