ACE的安装方法

下载ACE

--1  ACE的主页以及下载链接

http://www.cs.wustl.edu/~schmidt/ACE.html

安装ACE

--1  将ACE-5.5.tar.gz拷贝到安装目录,并进行解压

linux-m70n:/usr/local # cp ACE-5.5.tar.gz  /usr/local/ACE

linux-m70n:/usr/local/ACE# tar –zxvf ACE-5.5.tar.gz

源代码包解压之后,会在该目录下生成一个名称为ACE_wrappers的子目录,该目录是发行包的顶级目录,称为$ACE_ROOT,其中包括ACE的源代码、工具和例子。

我们这里的$ACE_ROOT=/usr/local/ACE/ACE_wrappers

ACE源代码和头文件位于$ACE_ROOT/ace目录中。

--2  创建目标文件存放目录

进入ACE_wrappers目录,然后在该目录下创建名称为build的子目录

linux-m70n:/usr/local/ACE# cd ACE_wrappers

linux-m70n:/usr/local/ACE/ACE_wrappers/build # mkdir build

--3  在$ACE_ROOT/ace目录中创建一个名为config.h的文件,在其中包含如下一行

#include "ace/config-linux.h"

--4  配置ACE的安装选项,生成Makefile文件

在build目录下执行configure命令,生成适合本系统的Makefile文件。执行configure命令,可以加入其他很多选项,具体选项可以使用configure – – help进行查看,详细说明也可以参阅ACE_wrappers目录下的ACE-INSTALL.html文件。本次编译仅仅指定生成的用于二次开发的头文件和动态链接库的目录。

linux-m70n:/usr/local/ACE/ACE_wrappers/build # ../configure --prefix=/usr/local/ACE/

根据此命令,在执行make install命令后,将二次开发所用头文件放在/usr/local/ACE/include,库文件放在:/usr/local/ACE/lib下面

--5  编译源代码

执行如下命令:

linux-m70n:/usr/local/ACE/ACE_wrappers/build # make

--6  安装

将生成的头文件、库文件以及手册页安装到指定的目录中,进行二次开发。执行命令:

linux-m70n:/usr/local/ACE/ACE_wrappers/build # make install

--7  设置环境变量LD_LIBRARY_PATH,让程序正确加载ACE的动态链接库文件

linux-m70n:/usr/local/ACE/ACE_wrappers/build #vi /etc/ld.so.conf

在ld.so.conf文件的中,加入一面一行

/usr/local/ACE/lib

然后,执行命令:

ldconfig

安装成功测试

--1 编写Makefile文件

我们在安装ACE的时候,ACE的头文件和库文件没有安装在默认的目录下,所以我们需要自己写Makefile文件来编译测试我们的例子。将如下内容保存为makefile,然后将该文件存放于目录/usr/local/ACE/ACE_wrappers/examples/C++NPv1内。

INC_ACE =-I/usr/local/ACE/include

LIB_ACE =-L/usr/local/ACE/lib -lACE

all:Iterative_Logging_Server Logging_Client

Iterative_Logging_Server:Iterative_Logging_Server.cpp Logging_Handler.o  Logging_Server.o

g++ -Wall -o Iterative_Logging_Server Iterative_Logging_Server.cpp Logging_Server.o Logging_Handler.o -I./ $(INC_ACE) $(LIB_ACE)

Logging_Server.o:Logging_Server.cpp

g++ -Wall -c Logging_Server.cpp -I./ $(INC_ACE) $(LIB_ACE)

Logging_Client:Logging_Client.cpp Logging_Handler.o

g++ -Wall -o Logging_Client Logging_Client.cpp Logging_Handler.o -I./ $(INC_ACE) $(LIB_ACE)

Logging_Handler.o:Logging_Handler.cpp

g++ -Wall -c Logging_Handler.cpp -I./ $(INC_ACE) $(LIB_ACE)

--2  编译

执行命令如下:

linux-m70n:/usr/local/ACE/ACE_wrappers/examples/C++NPv1#make –f makefile

--2  执行测试

编译通过之后,在该目录会生成两个可执行文件Iterative_Logging_Server(服务端)和Logging_Client(客户端)。执行如下测试:

在一个终端上执行命令:

linux-m70n:/usr/local/ACE/ACE_wrappers/examples/C++NPv1#./Iterative_Logging_Server 12220

在另外一个终端上执行命令:

linux-m70n:/usr/local/ACE/ACE_wrappers/examples/C++NPv1#./Logging_Client

然后在该终端上随意输入内容,并回车。

在该目录下会生成一个名称为:logging_server.log的文件,该文件中包含了在客户终端上输入的内容。

ACE的安装方法的更多相关文章

  1. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  2. CocoaPods 的简单快速安装方法

    CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像 ...

  3. windows下安装easy_install, pip 及whl文件安装方法

    转:http://www.cnblogs.com/wu-wenmin/p/4250330.html 写在前面的话 最近在看"Computer Vision with Python" ...

  4. Laravel安装方法 (windows)

    Laravel安装方法(windows) 安装PHP 下载PHP7 http://windows.php.net/download#php-7.0 进入上述网站下载PHP7 选择zip包解压安装 配置 ...

  5. win8.1系统的安装方法详细图解教程

    win8.1系统的安装方法详细图解教程 关于win8.1系统的安装其实很简单 但是有的童鞋还不回 所以今天就抽空做了个详细的图解教程, 安装win8.1系统最好用U盘安装,这样最方便简单 而且系统安装 ...

  6. ubuntu一些基本软件安装方法

    ubuntu一些基本软件安装方法 首先说明一下 ubuntu 的软件安装大概有几种方式:1. deb 包的安装方式deb 是 debian 系 Linux 的包管理方式, ubuntu 是属于 deb ...

  7. Ehlib安装方法有窍门

    Ehlib安装方法有窍门,如果不知道该安装方法,很难成功安装,Delphi 7(D5.D6也如此)中的安装方法       1.把EhLib中的common和DataService文件拷贝到Delph ...

  8. Ubuntu .deb包安装方法

    使用apt-get方法安装的软件,所有下载的deb包都缓存到了/var/cache/apt/archives目录下了,所以可以把常用的deb包备份出来,甚至做成ISO工具包.刻盘,以后安装Ubuntu ...

  9. wdcp的安装方法与常见问题

    wdcp(WDlinux Control Panel)是一套用PHP开发的Linux服务器管理系统,通过面板来操作可以彻底放弃用ssh 命令来操作的繁琐,让Linux服务器系统变得更容易使用,可以在线 ...

随机推荐

  1. USB Type-C,接口上的大统一?

    这款 24-pin 连接器的机械设计反应了设计人员从 Micro-B 连接器上获得的历史教训,它无需确定插入的正反方向并可实现 10000 次的插拔.使用者再也不需要担心“哪头上,哪头下”,因为 US ...

  2. Spring AOP实现方式三之自动扫描注入【附源码】

    注解AOP实现  这里唯一不同的就是application 里面 不需要配置每个bean都需要配置了,直接自动扫描 注册,主要知识点是怎么通过配置文件得到bean, 注意类前面的@注解. 源码结构: ...

  3. 【HDOJ】3071 Gcd & Lcm game

    刚开始看这个题目,觉得没法做.关键点是数据小于100.因此,可以枚举所有小于100的素因子进行位压缩.gcd就是求最小值,lcm就是求最大值.c++有时候超时,g++800ms.线段树可解. /* 3 ...

  4. 【HDOJ】1026 Ignatius and the Princess I

    这道题搞了很久啊.搜索非常好的一道题.昨天想了2小时,以为是深搜,但后来发现深搜怎么也没法输出正确路径.今天拿宽搜试了一下,问题就是普通的队列宽搜没法得到当前时间最小值.看了一下讨论区,发现优先级队列 ...

  5. shutdown,init,halt,poweroff,reboot的区别和联系, pkill -kill -t tty7注销

    前言 最近这些天,每天晚上关机前,都会在osc上发一条动弹,“我要init 0了,各位晚安啊”,这是一件再正常不过的事情了. 看似很平常的一件事情,不过在昨晚就被一位同学的回复给难住了,到底是什么样的 ...

  6. BS软件注册

    关于BS软件注册问题,目前的方式有通过加密狗访问的方式比较安全,本人为了节省使用成本,采用注册码的形式对每个客户端采用注册码的形式进行认证,防止用户使用同一账号在不同地方登陆使用,也可以防止一个账号, ...

  7. BZOJ_1005_ [HNOI2008]_明明的烦恼_(组合数学+purfer_sequence+高精度+分解因数+快速幂)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1005 一棵树有n个点,给出没给节点的度,如果没有限制则为-1,求共有多少种可能的树. 分析 蒟 ...

  8. 小图用 imageNamed: 大图用 dataWithContentsOfFile:options

    1down voteaccepted If you're loading images like:[UIImage imageNamed:@"myImage.png"];Then ...

  9. UIScrollView,UIView转换UIImage代码(整个view截图, 不只是可视区域)

    -(UIImage*)captureView:(UIView *)theView{     CGRect rect = theView.frame;     if ([theView isKindOf ...

  10. .net,sessionState的Session共享问题解决方案

    最近项目因为要负载均衡所以就使用了sessionState的Session共享,但是却发现多台服务器中有个别服务器的Session没有共享,于是就有了这篇文章,下面开始说说. 这个基本上就分两种情况: ...