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. 3.5MM/2.5MM耳机插头定义

    自2009年国内手机耳机接口统一以来,现在国内销售耳机基本就3.5MM和2.5MM两种,当然也有很少BT厂家,就是不用这两种,比如使用MiniUSB等接口作为耳机接口.3.5mm耳机插头按照结构划分, ...

  2. Java 数组倒序

    String s[] = {,,,,,,}; ; i < s.length; i ++){ System.-i] +","); }

  3. JSON对象与JSON数组

    一个对象以"{"(左括号)开始,"}"(右括号)结束.每个"名称"后跟一个":"(冒号):""名称/ ...

  4. 关于shell环境变量的思考

    shell中执行sh文件时需要开子进程,因此export的环境变量在子进程中,若想要sh中定义的脚本生效,使用source命令,并且可以被子进程继承.而子进程export的内容父进程获取不到

  5. NuGet学习笔记(1)——初识NuGet及快速安装使用

    关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...

  6. Linux 启动参数介绍

    Linux 启动参数介绍 取自2.6.18 kernel Documentation/i386/boot.txt 文件中介绍 vga= 这里的不是一个整数(在C语言表示法中,应是十进制,八进制或者十六 ...

  7. Eclipse Mars: How to Stop Updating Error Reporting Database

    Eclipse Mars: How to Stop Updating Error Reporting Database I was using Eclise Mars version IDE.. Ev ...

  8. Webform——购物车

    购物车主要实现的功能: ①在主页面可以将所有商品显示出来,包括价格,库存. ②点击购买可以累加产品,如果是同一种产品,只会累加每种产品的数量. ③查看购物车,可以查看明细,包括所购物品的名称,价格,数 ...

  9. HTMLParser 使用详解

    htmlparser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或   提取html.它能超高速解析html,而且不会出错.现在htmlparser最新版本为2 ...

  10. Dispatcher及线程操作

    WPF 应用程序启动后,会有两个线程: 1. 一个是用来处理UI呈现(处理UI的请求,比如输入和展现等操作). 2. 一个用来管理 UI的 (对UI元素及整个UI进行管理). WPF在线程里面是不可以 ...