ACE 5.6下载地址:http://download.dre.vanderbilt.edu/
方法一:
1. 解开ACE-install.sh文件
tar –zxvf ACE-5.6.tar.gz ACE_wrappers/ACE-install.sh
2. 根据文件中注释line 53~62:编译变量的实际路径和配置文件编辑ACE-install.sh:
MY_ACEDIR=/home/mabel/ACE /*将MY_ACEDIR变量定义为放压缩包的目录*/
MY_ACE_CONFIG=config-linux.h /*将变量改为适合编译平台的设置变量,并去掉注释符号*/
MY_ACE_GNU_MACROS=platform_linux.GNU /*具体参加README */
3. 执行ACE-install.sh,如果ACE-install.sh没有执行权限,则必须使用chmod 777 ACE-install.sh来赋予权限
./ACE-install.sh
方法二: (推荐用)
1. 设置ACE_ROOT环境变量:(可以在/etc/profile中设置,也可以在个人home目录下的.bash_profile里设置)
ACE_ROOT = /home/redwood/software/ACE_wrappers
export ACE_ROOT
2. 针对不同版本创建两个文件链接:
在$ACE_ROOT/ace目录下:
ln -s config-linux.h config.h
在$ACE_ROOT/include/makeinclude/目录下:
ln -s platform_linux.GNU platform_macros.GNU
3. 设置LD_LIBRARY_PATH环境变量:
LD_LIBRARY_PATH = $ACE_ROOT/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
(补允:注意是$ACE_ROOT/lib而不是$ACE_ROOT/ace,很多网站上都是写后者,其实是不对的)
4. 运行配置脚本 ./configure [options]
常用的选项有: CXXFLAGS=-O3 --disable-debug --disable-ace-examples --disable-ace-tests --without-tao
补充:如果要接定安装路径(默认安装在/usr/local),可以再加上参数:--prefix [安装路径]
5. 编译#>make
6. 安装 #> make install(补充:如果执行了安装,原来的$ACE_ROOT可以改为安装后的路径)
在ACE5.5中使用Epoll:
ACE_wrappers/ace/config-linux.h,增加一行:#define ACE_HAS_EVENT_POLL
在应用程序的makefile中加入 -DACE_HAS_EVENT_POLL,重新make应用程序。OK,打完收工。(修正:只需要在ACE_wrappers/ace/config-linux.h,增加一行:#define ACE_HAS_EVENT_POLL就行了,没必要在每个应用程序中都加入-DACE_HAS_EVENT_POLL)
补充:ace中很多功能并没有默认编译进来,比如epoll,fastmemcpy等,因此如果要使用这些功能,必须修改config.h文件,加入相应的宏,对ace重编译