1,下载安装包,http://download.dre.vanderbilt.edu/,我下载的是这个 ,愿意下哪个,看自己需求
ACE+TAO.tar.gz | ACE+TAO (tar+gzip format) | [HTTP] [FTP] | [HTTP] [FTP] |
2,解压
## tar -zxvf ACE+TAO-6.5.3.tar.gz
3,修改~/.bashrc
## vi ~/.bashrc
在里面添加,
export ACE_ROOT=/home/guoyanzhang/ACE_wrappers
export LD_LIBARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace
注意,/home/guoyanzhang/ACE_wrappers这个后面千万不要再加/,即变成/home/guoyanzhang/ACE_wrappers/。
添加之后,保存退出,执行
## source ~/.bashrc
使之生效。
4,添加一个头文件,
因为我的解压包放在/home/guoyanzhang/下,所以
## cd /home/guoyanzhang/ACE_wrappers
## vi ace/config.h
增加以下信息
#ifndef _CONFIG_H_
#define _CONFIG_H_
#include "ace/config-linux.h"
#endif
保存退出。
5,创建一个platform_macros.GNU
## vi /home/guoyanzhang/include/makeinclude/platform_macros.GNU
添加以下信息
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
这句是指定输出目录的,不指定的话,默认生成至$(ACE_ROOT)/lib目录下,
INSTALL_PREFIX=/home/guoyanzhang/ace_install
注意,platform_macros.GNU千万不要写成platform_macros.GUN。
6,适应系统的修改,因为我这个是64bit的,所以需要修改,
## vi /home/guoyanzhang/ACE_wrapper/include/makeinclude/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
7,编译
## cd $ACE_ROOT
## make
差不多需要20分钟
没有报错就是编译成功了。
8,安装
## make install
9,创建软链接,
## cd /etc/ld.so.conf.d/
## vi ace.conf
添加以下语句
/home/guoyanzhang/ACE_wrappers/lib
## sudo ldconfig
10,测试是否真正安装成功
## vi acetest.cpp
#include <ace/Log_Msg.h>
#include <ace/OS_main.h>
using namespace std;
int ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
ACE_DEBUG((LM_DEBUG, ACE_TEXT("Hello ACE!\n")));
return 0;
}
编译,执行,
## g++ -I$ACE_ROOT -lACE -L$ACE_ROOT/lib -o acetest acetest.cpp
## ./acetest
hello ACE!
说明成功了!
参考1:https://blog.csdn.net/hou512504317/article/details/70224691
参考2:http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html
参考3:https://blog.csdn.net/sunny_ss12/article/details/52099427
参考4:http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix