ACE在linux下的安装和实例运行详细步骤

1 篇文章 0 订阅

原文:https://blog.csdn.net/hou512504317/article/details/70224691

ace库的编译与试用
一、下载安装包 
下载地址:http://download.dre.vanderbilt.edu/ 
由于我只需要使用ACE,因此我只下载了ACE.tar.gz。ps:我得安装环境为sentos 7 
二、安装前的配置 
首先把文件解压,我解压在了/Software文件夹下,解压后会出现一个名字为ACE_wrappers的文件夹。这样所有ACE的源文件都在/Software/ACE_wrappers里面 
配置环境变量: 
vi ~/.bashrc

debian系统
 

ACE_ROOT=~/Software/ACE_wrappers
export ACE_ROOT
LD_LIBARY_PATH=$ACE_ROOT/ace:$LD_LIBARY_PATH
export LD_LIBARY_PATH

ubuntu系统

ACE_ROOT=/home/tmp/ACE_wrappers
export ACE_ROOT
LD_LIBARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:/usr/local/lib:$ACE_ROOT/lib:$LD_LIBARY_PATH
export LD_LIBARY_PATH

source ~/.bashrc //生效环境变量

三、开始安装ACE 
cd /Software/ACE_wrappers 
vi ace/config.h 
增加如下信息:

#define ACE_HAS_EVENT_POLL
#define ACE_HAS_PTHREAD_SCHEDPARAM
#define ACE_HAS_PTHREADS_STD

#include "ace/config-linux.h"

四、创建 platform_macros.GNU 
~/Software/ACE_wrappers/include/makeinclude/platform_macros.GNU 写入 
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

五.可以在platform_macros.GNU里写入 INSTALL_PREFIX=/home/yourname/ace_install_dir/ 来制定输出目录.。 
如果不指定 则默认生成至 $(ACE_ROOT)/lib目录下。

六. 64位 linux 需要作个小修改: 
vim $ACE_ROOT/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

七.编译 
在$ACE_ROOT目录下 make。大概十多分钟编译完成。

八.创建软连接

cd  /etc/ld.so.conf.d/
vi ace.conf
/home/hou/Software/ACE_wrappers/lib
sudo ldconfig

保存关闭,执行ldconfig 更新链接库。

九.执行测试程序

#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 World!")));
return 0;
}       

执行下面命令进行编译:

g++ -I$ACE_ROOT -lACE -L$ACE_ROOT/lib -o acetest acetest.cpp

 

编译成功,运行: 
./acetest 
打印出:Hello World!

注意:g++ 命令后面到参数

-I$ACE_ROOT                // 指定包含到头文件路径,此处是大写的 I ,include 的第一个字母到大写。
-lACE                              // 指定包含到库名称,此处是小写的 l,library 的第一个字母到小写。
-L$ACE_ROOT/lib          // 指定依赖库到路径,此处是大写到L,library 的第一个字母到大写。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值