描述下本人电脑情况: 虚拟机版本: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,如下:
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