下载地址: http://download.dre.vanderbilt.edu/


ACE版本:ACE-6.2.2.tar.bz2


下载完成后解压路径为:/root/ACE/ACE_wrappers


设置环境变量

vi .bashrc,添加的内容为:

export ACE_ROOT=/root/ACE/ACE_wrappers
export MPC_ROOT=$ACE_ROOT/MPC
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace:$ACE_ROOT/lib:/usr/local/lib

保存后执行:

source .bashrc

编译ACE:

1.选择平台配置文件,本系统应该选择config-linux.h,进入$ACE_ROOT/ace,执行命令:

 cp config-linux.h config.h

2.选择平台宏定义文件,本系统选择platform_linux.GNU,在$ACE_ROOT/include/makeinclude 目录下新建 
platform_macros.GNU,但是该目录下面有platform_macros.GNU:

[root@vm makeinclude]# ll platform_macros.GNU
lrwxrwxrwx 1 root root 36 11-06 12:27 platform_macros.GNU -> ../../apps/gperf/platform_macros.GNU

然而../../apps/gperf/platform_macros.GNU不存在,即执行下面命令:

cp /root/ACE/ACE_wrappers/include/makeinclude/platform_linux.GNU /root/ACE/ACE_wrappers/apps/gperf/platform_macros.GNU

3.进入$(ACE_ROOT)/ace/, 输入编译命令:make -f GNUmakefile, 开始编译libACE.so和libACE.so.6.2.2


Linux使用ACE编程:

我写个简单的Hello World!的程序
1.新建个hello.cpp的文件:

#include "ace/Log_Msg.h"
int ACE_TMAIN(int argc, int argv[])
{
ACE_DEBUG((LM_DEBUG, ACE_TEXT("Hello World!\n")));
return 0;
}

2.创建hello.mpc文件:

project(hello) : aceexe{
exename = hello
Source_Files{
hello.cpp
}
Header_Files{
}
}

3.使用MPC实用工具生成Makefile。再创建一个可执行文件hc,可执行文件hc的文件内容为:

$ACE_ROOT/bin/mpc.pl -type make hello.mpc

4.运行hc后,产生Makefile.hello后,运行make -f Makefile.hello 生成hello的可执行文件

5.运行:

[root@vm ~]# ./hello
Hello World!

ACE在Linux下编译安装的更多相关文章

  1. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  2. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  3. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  4. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  5. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  6. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

  7. linux下编译安装nginx

    1.首先下载稳定版nginx1.10.2 使用wget命令下载 wget http://nginx.org/download/nginx-1.10.2.tar.gz 2.然后解压 tar -zxvf  ...

  8. Linux下编译安装qemu和libvirt【转】

    转自:http://www.cnblogs.com/findumars/p/5679742.html 目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 ...

  9. (转)Linux下编译安装log4cxx

    Linux下编译安装log4cxx 一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. log4cxx ...

随机推荐

  1. 计蒜客NOIP模拟赛D2T3 数三角形

    刚刚上高中的洁洁在学习组合数学的过程中遇到一道麻烦的题目,她希望你能帮助她解决.给定一张无向完全图 G,其中大部分边被染成蓝色,但也有一些边被染成红色或者绿色.现在,洁洁需要给这张图的多样性进行打分. ...

  2. BZOJ3129: [Sdoi2013]方程

    拓展Lucas+容斥原理 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cs ...

  3. hdu 4514 并查集+树形dp

    湫湫系列故事——设计风景线 Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Tot ...

  4. 【hihoCoder 1419】重复旋律4

    Description 小 Hi 平时的一大兴趣爱好就是演奏钢琴. 我们知道一个音乐旋律被表示为长度为 N的数构成的数列. 小 Hi 在练习过很多曲子以后发现很多作品中的旋律有重复的部分. 我们把一段 ...

  5. SpringCloud学习之sleuth&zipkin

    一.调用链跟踪的必要性 首先我们简单来看一下下单到支付的过程,别的不多说,在业务复杂的时候往往服务会一层接一层的调用,当某一服务环节出现响应缓慢时会影响整个服务的响应速度,由于业务调用层次很“深”,那 ...

  6. String,StringBuilder,StringBuffer三者的区别

    参考   String,StringBuilder,StringBuffer三者的区别 这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面. 1.运行速度 首先说运行速度,或者说是执行速 ...

  7. 触发事件trigger

    触发事件,在本例中,文档加载好之后,就触发dblclick双击事件,而不是通过去手动双击. <script src="http://how2j.cn/study/jquery.min. ...

  8. Yii2 获取URL的一些方法

    1. 获取url中的host信息: 例如:http://www.nongxiange.com/product/2.html Yii::$app->request->getHostInfo( ...

  9. MockHttpServletRequestBuilder中content和param的区别

    结论: Mock将URL的参数和通过使用param添加的参数添加到request中的parameter中(url参数) 而将content内容.类型并没有进行解析,直接添加到request的conte ...

  10. 反射实现java深度克隆

    一.克隆 有时想得到对象的一个复制品,该复制品的实体是原对象实体的克隆.复制品实体的变化不会引起原对象实体发生变化,这样的复制品称为原对象实体的克隆对象或简称克隆. 1.浅复制(浅克隆) 概念:被复制 ...