• ACE的安装方法


     

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

  • 相关阅读:
    Nginx优化
    Mysql日常操作
    YUM源
    MySQL5.7安装手册
    自律——可以让我们活的更高级
    javascript中with的用法
    js中所有函数的参数(按值和按引用)都是按值传递的,怎么理解?
    base64编码的图片在网页中显示
    form表单提交没有跨域问题,但ajax提交存在跨域问题
    移动端1px的适配问题
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4015038.html
Copyright © 2020-2023  润新知