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. VC 对话框背景颜色、控件颜色(三种方法)

    系统环境:Windows 7软件环境:Visual C++ 2008 SP1本次目的:为对话框设置背景颜色.控件颜色 既然MFC对话框不好开发,那么现在我们来开始美化我们的对话框.为对话框设置背景颜色 ...

  2. QT做界面真是绝美,并且还可嵌入HTML与JS做界面(许多案例)

    1. 这年头想要酷炫, 还是用web最方便, QT自带嵌入式webkit, 然后用d3.js D3.js - Data-Driven Documents什么的, 各种酷炫的互动表随手而来.这里有各种各 ...

  3. ruby mysql数据库操作

    require 'mysql' con=Mysql.new('localhost','root','root','test') con.query('set names utf8') rs=con.q ...

  4. How to: Implement a Windows Communication Foundation Service Contract

    This is the second of six tasks required to create a basic Windows Communication Foundation (WCF) se ...

  5. 【转】VS2010/MFC编程入门之二十五(常用控件:组合框控件Combo Box)

    原文网址:http://www.jizhuomi.com/software/189.html 上一节鸡啄米讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常 ...

  6. html的两种提交按钮submit和button

    转自:http://baiying.blog.51cto.com/1068039/1319784 html按钮有两种: <input type="button" value= ...

  7. Asm Shader Reference --- Shader Model 2.0 part

    ps部分 ps_2_0 概览   Instruction Set                                   Name Description Instruction slot ...

  8. ModelSim仿真

    (1)出现“Fatal: SDF files require Altera primitive library”  书上的方法是在ModelSim-SE下的使用,而我用的是ModelSim-Alter ...

  9. LittleTools之批量替换工具

    身为程序员,有很多事情都可以交给机器来做,这样可以提高工作效率. 在此先写个批量替换工具,用来将某些对象统一替换为另一对象. 比方说场景中摆了一堆树,位置.比例.旋转都已经调好了,但是对树的样式不太满 ...

  10. oracle logminer全解析

    今天写篇原创的,把在工作中遇到的logminer问题总结下 (1)简介: logminer 工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其 ...