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. delphi中的各种文件类型介绍

    1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...

  2. 【HDOJ】1042 N!

    肯定是大叔,本来以为用加法做乘法,后来想想这样麻烦,还是可以使用乘法的,按位乘,ov可以看成不止一位,程序如下所示: #include <stdio.h> #define MAX 4000 ...

  3. 【原创】FPGA开发手记(三) PS/2键盘

    以下内容均以Xilinx的Nexys3作为开发板   1.PS/2键盘简介 虽然Nexys3开发板是利用USB接口搭载键盘,但是其原理与PS/2键盘完全相同,现在就仅以PS/2键盘为例讲解如何将键盘搭 ...

  4. VJP1456 最小总代价(状压)

    链接 这题卡了一天  刚开始没考虑第一个传的和最后一个传的 感觉挺简单 啪啪的敲完 居然还过了17组数据.. 正解:dp数组一维保存状态 一维保存当前传到了谁 再枚举是由谁传过来的 这样可以保证正确性 ...

  5. java集合类——Stack类

    查看java的API文档,Stack继承Vector类. 栈的特点是后进先出. API中Stack自身的方法不多,基本跟栈的特点有关. import java.util.Stack; public c ...

  6. MySQL purge log简单吗

    MySQL purge log简单吗? 简单: purge log的功能很简单,purge master logs to 指定一个binlog,然后删除之前的文件系统上的binlog文件,并更新bin ...

  7. WPF编程学习——动画

    前言 使用动画,是增强用户体验的一种有效的手段.合理的动画,可以让应用程序的界面看起来更加自然.真实.流畅.舒适,更有效地向用户展现信息,用户也更容易接受.同时也增加了软件使用的乐趣,提高用户粘度.( ...

  8. com.google.common.eventbus.EventBus介绍

    以下内容直接翻译了EventBus的注释: com.google.common.eventbus.EventBus介绍: 首先这个类是线程安全的, 分发事件到监听器,并提供相应的方式让监听器注册它们自 ...

  9. 六月计划#2B(6.10-6.16)

    4/7 STL set 数学 快速傅立叶(FFT) 高斯消元 动态规划 斜率优化

  10. ACM ICPC Asia Regional 2011 Kuala Lumpur C题

    看了逆波兰表达式之后,发现真是强悍的数据结构,栈的应用怎么感觉一辈子也学不完了呢 后缀表达式即逆波兰表达式,就是将所有的运算符按照一定的等级全部都安排到数字的后面去,实现正确的运算法则. OK,代码要 ...