Linux AS4 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 -zxvfACE-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 

 

删除“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
exportLD_LIBRARY_PATH 

 

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

 

10、链接文件

$cd $ACE_ROOT/ace
$ln -s config-linux.h config.h 

 

$cd $ACE_ROOT/include/makeinclude
$ln -splatform_linux.GNU platform_macros.GNU 

 

11、系统安装完成

 

12、验证ACE能否使用

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

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

$./iterative_logging_server  9090
$./logging_client 9090 

 

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

文章出处:飞诺网(http://www.diybl.com/course/3_program/c++/cppsl/2008106/148328.html)

你可能感兴趣的:(Linux AS4 ACE安装手记)