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. 【HDOJ】1073 Online Judge

    这道题TLE了N多次,完全不明白为什么,稍微改了一下,居然过了.使用gets过的,看讨论帖有人还推荐用hash. #include <stdio.h> #include <strin ...

  2. c#语言-多线程中的锁系统(一)

    介绍 平常在多线程开发中,总避免不了线程同步.本篇就对net多线程中的锁系统做个简单描述.   目录 一:lock.Monitor        1:基础.        2: 作用域.       ...

  3. 从零开始学习jQuery (六) AJAX快餐

    一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现A ...

  4. Kettle汇总时参数

    Kettle汇总时手动执行小时汇总命令: ./kitchen.sh -norep -file /usr/local/evqm/kettle/kettle_scripts/rpt_hour.kjb -p ...

  5. 跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码

    跟我学机器视觉-HALCON学习例程中文详解-QQ摄像头读取条码 第一步:插入QQ摄像头,安装好驱动(有的可能免驱动) 第二步:打开HDevelop,点击助手-打开新的Image Acquisitio ...

  6. mmap的使用

    http://blog.csdn.net/adcxf/archive/2009/03/14/3989725.aspx 共 享内存可以说是最有用的进程间通信方式,也是最快的IPC形式.两个不同进程A.B ...

  7. Linux内核结构分析与移植

    Linux内核主要的5个部分是:进程调度,内存管理,虚拟文件系统,网络接口,进程通信. 这5个部分之间的关系如下: (1)进程调度部分负责控制进程对CPU的访问. (2)内存管理允许多个进程安全地共享 ...

  8. POJ1811- Prime Test(Miller–Rabin+Pollard's rho)

    题目大意 给你一个非常大的整数,判断它是不是素数,如果不是则输出它的最小的因子 题解 看了一整天<初等数论及其应用>相关部分,终于把Miller–Rabin和Pollard's rho这两 ...

  9. CF_402C Searching for Graph 乱搞题

    题目链接:http://codeforces.com/problemset/problem/402/C /**算法分析: 乱搞题,不明白题目想考什么 */ #include<bits/stdc+ ...

  10. 问题-[Delphi]提示Can't load package:dclite70.bpl解决方法

    问题现象:提示Can't load package:dclite70.bpl 问题原因:全是Window2003的Data Execution Prevention(DEF数据执行保护)造成的. 解决 ...