Centos编译安装ACE



Centos编译安装ACE
 
首先:下载ACE包 ,下载链接:http://download.dre.vanderbilt.edu/
 
这里只安装了ACE,其他的包没有涉及。
tar -xvf  ACE-6.0.3.tar.gz
 
cd ACE_wrappers
  www.2cto.com  
 针对不同版本创建两个文件链接:
    cd   ./ace
    ln -s config-linux.h config.h
 
    cd ../include/makeinclude/
    ln -s platform_linux.GNU platform_macros.GNU
 
 创建编译目录:
    cd   ../../../                //进入到ACE_wrappers中
    mkdir build
 
    ../configure --prefix=/opt/library/ace   CXXFLAGS=-O3   --disable-debug   --disable-ace-examples   --disable-ace-tests
     make  
 
     注意:该过程可能出现有些头文件没有找到的错误,需要运行相关命令进行安装,我碰到的错误是openssl的相关头文件没有,所有需要安装libopenssl的开发包。
 
     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;
}  www.2cto.com  
 
g++ -I/opt/library/ace/include -L/opt/library/ace/lib  demo.cpp  -lACE -lrt -lpthread
 
注意:-I、-L后面路径为你的安装路径。
 
运行: ./a.out     
  www.2cto.com  
此时会提示如下错误:
 
./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!
 
 
作者 GasLS

相关内容

    暂无相关文章