Skip to main content
 Web开发网 » 操作系统

Centos编译安装ACE(转载)

2021年10月13日6820百度已收录

  首先:下载ACE包 ,下载链接:/

  这里只安装了ACE,其他的包没有涉及。

  tar -xvf ACE-6.0.3.tar.gz

  cd ACE_wrappers

  

  针对不同版本创建两个文件链接:

  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;

  }

  g++ -I/opt/library/ace/include -L/opt/library/ace/lib demo.cpp -lACE -lrt -lpthread

  注意:-I、-L后面路径为你的安装路径。

  landscaper-academy.com

  运行: ./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一下,有很多说明。

评论列表暂无评论
发表评论
微信