转载自 :http://sjtutmz.blog.163.com/blog/static/988886602011717113111322/
mkdir /opt/ACE_wrappers/build
cd /opt/ACE_wrappers/build
../configure
make
make install (optional)
就可以了,默认只编译共享库(libACE.so),如果想编译静态库(libACE.a),可以在configure的时候加--enable-static
--
如果报错:
1.如果按照上述说明中的安装方法,第五步可能会出现问题,一般在自行编译源码所碰到的错误都会是系统缺少软件包所致,我所遇到的问题是跟ssl有关系,告警如下:
http://www.cnblogs.com/../ace/SSL/SSL_Asynch_BIO.h:29:25: error: openssl/bio.h: 没有那个文件或目录
原因:缺少openssl或者找不到openssl的头文件;
解决:去http://www.openssl.org/source/下载latest程序,经过一番./configure、make、make install安装套路,还有一步为做个链接:
cd /usr/include
ln -s /usr/local/ssl/include/openssl openssl
具体安装流程:
cd /usr/include
ln -s /home/yourusername/bin/openssl/include/openssl openssl
2.又遇到错误,如下:
home/knight/libs/ACE_wrappers/objdir/examples/IPC_SAP/SSL_SAP/http://www.cnblogs.com/http://www.cnblogs.com/ace/SSL/SSL_SOCK_Stream.inl:148: undefined reference to `SSL_read'
/home/knight/libs/ACE_wrappers/objdir/examples/IPC_SAP/SSL_SAP/http://www.cnblogs.com/http://www.cnblogs.com/ace/SSL/SSL_SOCK_Stream.inl:151: undefined reference to `SSL_get_error'
client-SSL-client.o: In function `ACE_SSL_SOCK_Stream::close()':
/home/knight/libs/ACE_wrappers/objdir/examples/IPC_SAP/SSL_SAP/http://www.cnblogs.com/http://www.cnblogs.com/ace/SSL/SSL_SOCK_Stream.inl:305: undefined reference to `SSL_shutdown'
原因:在编译${ACE_ROOT}/objdir/tests/SSL和${ACE_ROOT}/examples/IPC_SAP/SSL_SAP中makefile指定的库路径LIBS指定有误;
解决:找到makefile里的LIBS = -lrt -ldl,在后面添加路径【 /usr/local/ssl/lib/libssl.a /usr/local/ssl/lib/libcrypto.a】(注意,这两个静态库路径不是绝对的)。
---
LIBS = -lrt -ldl /home/yourusername/bin/openssl/lib/libssl.a /home/yourusername/bin/openssl/lib/libcrypto.a
------------------------
配置Eclipse:
1. 点击project->properties,打开,在左侧一览中选择C/C++ Build,在TAB列中选择tools settings,
点中gcc c++ compiler中的directories,增加你的ACE根目录 "/home/***/ACE_wrappers"
2. 点中gcc c++ linker
在 libraries (-l) 中 写入 ACE
在 library search path(-L) 中 写入 "/home/***/ACE_wrappers/ace"
完成配置。