首页 > 代码库 > 64位CentOS 6.5编译配置ACE 6.1.0(6.2.0)

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了…………