64位CentOS 6.5編譯配置ACE 6.1.0(6.2.0)

系統:CentOS 6.5 64位

ACE版本:6.1.0

假定壓縮文件目錄爲:/usr/local/

步驟1:

解壓下載好的ACE-6.1.0.tar.gz

# tar zxvf ACE-6.1.0.tar.gz 

出現一個名爲:ACE_wrappers的文件夾

步驟2:定義環境變量:

修改/etc/profile 或者 /etc/bashrc

# vi /etc/profile

加入以下兩行:

ACE_ROOT=/usr/local/ACE_wrappers;export ACE_ROOT

LD_LIBRARY_PATH=$ACE_ROOT/ace;export LD_LIBRARY_PATH 

#這個路徑是最後鏈接的路徑,如果編譯輸出不修改路徑,則爲上面的路徑,如果定製路徑,則要修改爲定製的路徑

步驟3:修改ACE_wrappers/include/makeinclude下面的platform_linux.GNU,

vi platform_linux.GNU

找到

ifeq ($(buildbits),32)
  FLAGS_C_CC += -m32
  LDFLAGS    += -m32
endif
ifeq ($(buildbits),64)
  FLAGS_C_CC += -m64
  LDFLAGS    += -m64
endif

修改爲:

ifeq ($(buildbits),32)
  FLAGS_C_CC += -m32
  LDFLAGS    += -m32
endif
ifeq ($(buildbits),64)
  FLAGS_C_CC += -m64
  FLAGS_C_CC += -fPIC
  LDFLAGS    += -m64
endif

這裏的修改是爲了解決64位系統編譯的問題,如果系統爲32位,不修改應該也可以

步驟4:在ACE_wrappers/include/makeinclude下面創建文件platform_macros.GNU,

vi platform_macros.GNU

添加如下代碼

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU   //不是#include

以下兩項是可選的添加的:
1.INSTALL_PREFIX=/usr/local/ace_install

該項是制定編譯文件輸出的,這裏如果要添加該項,則需要修改前面的環境變量:LD_LIBRARY_PATH=$ACE_ROOT/ace;export LD_LIBRARY_PATH ,如果添加,則修改爲

LD_LIBRARY_PATH=/usr/local/ace_install/ace;export LD_LIBRARY_PATH 

2.static_libs=1

該項定義了在生成編譯文件的時候,同時生成靜態庫,不添加則不生成靜態庫

步驟五:測試例子

#include"ace/Log_Msg.h"
#include"ace/OS_main.h"
using namespace std;
int ACE_TMAIN(int arg,ACE_TCHAR *argv[])
{
ACE_DEBUG((LM_DEBUG,ACE_TEXT("Hello ACE")));
return 0;
}

編譯並連接:

gcc -o hello hello.cpp -I /usr/local/ACE_wrappers/ -L /usr/local/ACE_wrappers/ace/ -lACE -lrt -lpthread

基本沒什麼問題的情況下就可以看書學習ACE了…………





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章