Centos 編譯安裝ACE

首先:下載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!

相關文章
相關標籤/搜索