安装ACE

1、获取安装包

到ACE的官方网站http://www.cs.wustl.edu/~schmidt/ACE.html或者http://riverace.com/index.htm下载最新版的ACE,我下的是ACE-5.6.tar.gz;

菜鸟们不要下错了,*.tar.gz是类Unix平台的版本,*.zip是windows平台的版本

2、查看autoconf版本

#autoconf -V

查看你的autoconf程序的版本 2.57g,就需要升级了

3、新建ace用户

#useradd ace

#su - ace

并将源代码ACE-5.6.tar.gz拷贝到ace的默认目录,我的ace默认目录在/home/ace

4、源代码解压

$cd

$tar -zxvf ACE-5.6.tar.gz

解压后自动生成目录ACE_wrappers

5、ACE_wrappers目录新建子目录

$mkdir /home/ace/ACE_wrappers/objdir

$cd /home/ace/ACE_wrappers/objdir

6、执行configure脚本

$../configure

注意此时是在/home/ace/ACE_wrappers/objdir目录

../configure 的意思是执行父目录也就是/home/ace/ACE_wrappers目录中的configure

7、编译

linux AS4 编译ACE会碰到编译过程中没有反应的情况,即编译 RB_Tree* 文件时不会报错,但是一直停在那里;开始不知道这个情况,再加上ACE很大,编译很耗时,弄了一个下午发现每次都停在 RB_Tree的编译上,才定位到问题;后来好不容易在网上查到了相关的问题解决办法,这个时候已经是晚上了;

configure完了之后,make

$make

在make过程中,带RB_Tree 的文件可能会编译很久都没反应,此时应该停掉make(用ctrl+c),然后到相应目录,将makefile中的带RB_Tree的文件名删除,然后继续make:

ctrl+C ...

$vi /home/ace/ACE_wrappers/objdir/examples/APG/Containers/Makefile

删除“noinst_PROGRAMS =” 后面带RB_Tree的 文件名(变量名)

$vi /home/ace/ACE_wrappers/objdir/tests/Makefile

删除“noinst_PROGRAMS =” 后面带RB_Tree的 文件名(变量名)

$vi /home/ace/ACE_wrappers/objdir/Kokyu/tests/DSRT_MIF/Makefile

删除“noinst_PROGRAMS =” 后面带MIF的 文件名(变量名)

然后继续make

$make

整个ACE的编译,应该要耗费几个小时的时间,我是在虚拟机上编译的,时间更慢

8、安装

$su
root's password
#make install

安装目的是把编译生成的ACE的库文件、头文件和手册页等安装到/usr/local的相应目录中去

9、设置ace用户的环境变量

#su - ace

$vi .bashrc

ACE_ROOT=/home/ace/ACE_wrappers
export ACE_ROOT

LD_LIBRARY_PATH=$ACE_ROOT/ace:$ACE_ROOT/lib:/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

编辑完了之后,ace用户需要重新登陆才能生效,然后用 env命令,确认以上变量已经生效

10、链接文件

$cd $ACE_ROOT/ace

$ln -s config-linux.h config.h

$cd $ACE_ROOT/include/makeinclude

$ln -s platform_linux.GNU platform_macros.GNU

11、系统安装完成

12、验证ACE能否使用

注意,在ACE5.6版本中,《C++网络编程,卷一》的可执行程序编译后放在了目录$ACE_ROOT/objdir/examples/C++NPv1,但是源代码却是放在$ACE_ROOT/examples/C++NPv1

$cd $ACE_ROOT/objdir/examples/C++NPv1

$make

ACE源码中附带有《C++网络编程,卷一》的例子,执行一个服务器程序(随便哪一个都行)和一个客户端程序(Logging_Client),如果程序运行正确,说明前面的安装和配置成功,下面你就可以开始你的ACE学习之旅了

$./iterative_logging_server  9090

$./logging_client 9090。

安装unixODBC

不仅仅指unixODBC-*.*.*-*-i386.rpm,还需要包括开发需要的包。有两种安装方式,第一种就是安装unixODBC-2.2.0-5.i386.rpm和unixODBC-devel-2.2.0-5.i386.rpm这两个包即可。另一种方式是源码安装,步骤如下:

 先下载最新的unixODBC源码包(http://www.unixodbc.org/unixODBC-2.2.1.tar.gz)放到/usr/local下,然后运行下述命令:

tar zxvf unixODBC-2.2.1.tar.gz

cd unixODBC-2.2.1

./configure --prefix=/usr/local/unixODBC-2.2.1 --includedir=/usr/include --libdir=/usr/lib -bindir=/usr/bin --sysconfdir=/etc

make

make install

安装成功后,unixODBC所需的头文件都被安装到了/usr/inlucde下,编译好的库文件安装到了/usr/lib下,和unixODBC相关的可执行文件安装到了/usr/bin下,设置文件放到了/etc下。

ace-下载-安装的更多相关文章

  1. ACE的安装方法

    ACE的安装方法 下载ACE --1  ACE的主页以及下载链接 http://www.cs.wustl.edu/~schmidt/ACE.html 安装ACE --1  将ACE-5.5.tar.g ...

  2. ACE的安装

    转载于:http://www.cnblogs.com/TianFang/archive/2006/12/03/580714.html ACE的安装是一件比较麻烦的事情,这里简单的记录了我在VS2005 ...

  3. Visual Studio for Mac Preview离线下载安装

    Visual Studio for Mac离线下载安装. 环境:OS X EI Caption 10.11.2 .NET Core SDK 1.1 需预先安装 .NET Core 1.1 SDK ma ...

  4. jdk1.8下载安装

    jdk8环境变量 jdk8图解安装 java8安装   1 2 3 4 5 6 7 分步阅读 JDK8 是JDK的最新版本,加入了很多新特性,如果我们要使用,需要下载安装: JDK8在windows ...

  5. Mac下载安装Android Studio教程

    今天把公司闲置的一台Mac-mini重装了下系统感觉用着速度还不错,平时上班用的机器USB有些问题,所以打算用这台Mac.以往开发用Intellij Idea就够用,但是这次项目引用的jar包太多,遭 ...

  6. mac版 android破解软件下载安装

    1 apktool下载安装 下载地址https://code.google.com/p/android-apktool/ [1].下载apktool.jar — 解压 [2].下载Mac上的辅助工具a ...

  7. 不通过App Store实现ios应用分发下载安装

    最近公司的项目准备着手宣传工作了,宣传手册上要印制App的下载地址二维码,但是客户端应用还未上线,需要一种临时的方案解决应用分发下载问题,通常ios应用必须通过苹果应用商店才能下载安装,但是也可以看到 ...

  8. ERWin 7.2下载安装及注册机

    ERWin 7.2下载安装及注册机   ERWin 7.2 下载地址: ftp://ftp.ca.com/CAproducts/erwin/ServicePacks/AFEDM72-b1644.exe ...

  9. cocoapod的下载安装解释

    本文不提供cocoapod的下载安装的流程,因为那些只要百度一下就有的东西,而是对里面的代码进行解释,希望对iOS小白安装cocoapod有帮助: 一.cocoapod是什么? 开发过程中,我们会用到 ...

  10. 配置ActiveX控件在网页中下载安装

    先检查客户端浏览器是否安装了ActiveX控件,如果没有安装ActiveX,就需要先给浏览器提示下载并允许安装.否则就直接使用该ActiveX控件.我们可以使用CodeBase来满足我们的要求:下面是 ...

随机推荐

  1. iOS - Swift NSRect 位置和尺寸

    前言 结构体,这个结构体用来表示事物的坐标点和宽高度. public typealias NSRect = CGRect public struct CGRect { public var origi ...

  2. mysql /*! 50100 ... */ 条件编译

    1./*...*/ 是注释,mysql不会执行.2.mysql对标准sql进行了扩展,包含了一些自己的特性.3./*!...*/ 是一种特殊的注释,其他的数据库产品当然不会执行.mysql特殊处理,会 ...

  3. windows volume related concepts

    Volume --- 一个volume就是一个分区.  在该“物理硬盘”上创建一个或多个分区,再创建文件系统,才可以得到一个VOLUME.此时VOLUME相对于主机是一个逻辑设备. https://m ...

  4. html5实现GIF动画!

     代码如下: <!DOCTYPE html><html>    <head>        <meta charset="utf-8"&g ...

  5. Mvc4_Area的应用

    为什么需要分离? 我们知道MVC项目各部分职责比较清晰,相比较ASP.NET Webform而言,MVC项目的业务逻辑和页面展现较好地分离开来,这样的做法有许多优点,比如可测试,易扩展等等.但是在实际 ...

  6. Spring多数据源的配置和使用

    1. 配置多个数据源 最近开发一个数据同步的小功能,需要从A主机的Oracle数据库中把数据同步到B主机的Oracle库中.当然能够用dmp脚本或者SQL脚本是最好,但是对于两边异构的表结构来说,直接 ...

  7. iOS开发 判断用户是否开启了定位

    - (BOOL)achiveUserLocationStart { CLAuthorizationStatus status = [CLLocationManager authorizationSta ...

  8. 用java实现冒泡排序法

    一.基本思路: 冒泡排序是一种简单的交换类排序.其基本思路是,从头开始扫描待排序的元素,在扫描过程中依次对相邻元素进行比较,将关键字值大的元素后移.每经过一趟排序后,关键字值最大的元素将移到末尾,此时 ...

  9. python 基础学习(元组,if,for)

    1.tuple对象 tuple 元组 有序的列表 tuple一旦创建不能修改 a.定义元组t=('a','b','c')空元素的tuple t=()()既表示tuple 也表示运算符的优先级 所以定义 ...

  10. Qt之Threads和QObjects

    简述 QThread继承自QObject,它发射信号(signals)以表明线程执行开始或结束,并提供了一些槽函数(slots). 更有趣的是,QObjects可以在多线程中使用,发射信号以在其它线程 ...