首先:下载ACE包 ,下载连接:http://download.dre.vanderbilt.edu/linux
这里只安装了ACE,其余的包没有涉及。bash
tar -xvf ACE-6.0.3.tar.gz app
cd ACE_wrappers测试
针对不一样版本建立两个文件连接:
cd ./ace
ln -s config-linux.h config.hui
cd ../include/makeinclude/
ln -s platform_linux.GNU platform_macros.GNUgoogle
建立编译目录:
cd ../../../ //进入到ACE_wrappers中
mkdir buildspa
../configure --prefix=/opt/library/ace CXXFLAGS=-O3 --disable-debug --disable-ace-examples --disable-ace-testsdebug
make orm
注意:该过程可能出现有些头文件没有找到的错误,须要运行相关命令进行安装,我碰到的错误是openssl的相关头文件没有,全部须要安装libopenssl的开发包。ssl
yum search openssl
yum install openssl-devel.i686
make install //要切换到超级用户
测试:
#include <ace/Log_Msg.h>
#include <ace/OS_main.h>
using namespace std;
int main(int argc, ACE_TCHAR *argv[])
{
ACE_DEBUG((LM_DEBUG, ACE_TEXT("Hello World!")));
return 0;
}
g++ -I/opt/library/ace/include -L/opt/library/ace/lib demo.cpp -lACE -lrt -lpthread
注意:-I、-L后面路径为你的安装路径。
运行: ./a.out
此时会提示以下错误:
./a.out: error while loading shared libraries: libACE-6.0.3.so: cannot open shared object file: No such file or directory
这是为何?在a.out运行的时候,须要连接一些动态库,可是当前的环境下没有ace库路径,因此致使该问题,解决办法: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/library/ace/lib
在LD_LIBRARY_PATH环境变量中添加当前的ace库路径,不过这种方式只能在当前终端有效。最好写入路径文件中,好比 .bashrc .bash 几个文件中,具体方法google一下,有不少说明。
此时运行,一切ok!