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的文件,该文件中包含了在客户终端上输入的内容。