ACE 编译和安装

概述:

前段时间,因为工作原因使用了ACE,使用前早就听说了ACE的大名,是一个跨平台,适用于网络开发,开源,免费的第三方组件库,使用的公司很挻多的。可见这是一个很成熟的东西。使用过程中也走了一些弯路,学习,编译和安装等,但学习和使用过程,确实感觉这是一个不错的库,帮我们做了很多事情。这里把ACE的编译和安装写出来,希望后来人使用这个库的时候,能够多一份参考,少走些弯路。下面我们一步一步来编译,安装,搭建我们的ACE开发环境。

准备:

编译安装前,我们需下列环境和软件

windows 我使用的是vs2008

Suse Linux EnterPrise Desktop 10 g++  4.1.0或更高版本。

ACE5.8   目前最高版本是6.0,可以到http://www.riverace.com官网上下载

一、Win32篇:

1) 把ACE58SRC.tar.gz拷贝到指定目录下(本文档以E:\ACE58目录为例)并解压,生成ACE_wrappers文件夹

2)   创建环境变量ACE_ROOT=E:\ACE58\ACE_wrappers。 在PATH中加入%ACE_ROOT%/lib。环境变量创建和设置方法:(win7)“我的电脑”单击右键--〉“高级系统设置”--〉环境变量。

3)在E:\ACE58\ACE_wrappers\ace文件夹下创建config.h文件,编辑文件加入#include "ace/config-win32.h"

4)编译过程

动态链接库版本:通过vs2008打开E:\ACE58\ACE_wrappers\ACE_vc9.sln分别编译DebugRelease版本,编译结束后,输出窗口显示信息 “========== 生成: 成功0 个,失败0 个,最新680 个,跳过0 个==========”表示编译成功。到E:\ACE58\ACE_wrappers\lib目录下,可以看到Release 版本的 ACE.dll ACE.libDebug版本的ACEd.dll ACEd.lib

静态链接库版本:通过vs2008 打开E:\ACE58\ACE_wrappers\ ACE_vc9_Static.sln 分别编译DebugRelease版本,编译结束后,输出窗口显示信息“========== 生成: 成功0 个,失败0 个,最新680 个,跳过0 个==========”表示编译成功。到E:\ACE58\ACE_wrappers\lib目录下,可以看到Release 版本的ACEs.lib和Debug版本的ACEsd.lib

5)搭建ACE开发环境

启动vs2008 通过菜单“工具”==〉“选项”==>“项目和解决方案”==>VC++目录” 打开选项页界面。如图1-1所示

                                            图1-1

分别修改

“包含文件”加入$(ACE_ROOT)

“库文件”加入$(ACE_ROOT)/lib

6)使用ACE动态库

新建工程,需要在“项目”==〉“ 属性”==〉“链接器”==〉“输入”==〉“附加依赖关系” 项加入ACE.libACEd.lib,如图1-2所示。

                                                                                                                       图1-2

7)使用ACE静态库

1、 在动态库已经配置的基础上,再需要“项目”==〉“属性”==〉C/C++”==〉“预处理器”==〉“预处理定义”加入ACE_AS_STATIC_LIBS宏,加入这个宏后,如图1-3所示,项目编译就使用静态库,否则使用动态库。

2、 注意:加入这个宏后,要把“项目”==>“ 属性”==〉“链接器”==〉“输入”==〉“附加依赖关系” 的ACE.lib  改成静态库的 ACEs.lib 或 ACEsd.lib,修改请参考图1-2

                                                                                                         图1-3

二、Linux篇

使用具有root权限的用户登陆,也可用其它用户登陆后,su root命令切换到root名户。本文以root登陆,本文以ACE58SRC.tar.gz放到/root目录为例。

1) 把ACE58SRC.tar.gz上传到/root目录,通过tar xvzf  ACE58SRC.tar.gz 解压,生成ACE_wrappers。

2)设置环境变量:按下列步骤设置环境变量

cd ~

vi .profile

编辑 .profile文件加入

ACE_ROOT=/root/ACE_wrappers

export ACE_ROOT

LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH

export LD_LIBRARY_PATH

退出,重新登陆。

3) 进入/root/ACE_wrappers/ace目录,新建一个config.h文件,编辑文件里加入 

#include "ace/config-linux.h"

4)进入/root/ACE_wrappers/include/makeinclude目录,新建一个platform_macros.GNU文件,编辑文件加入

include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU

INSTALL_PREFIX = /usr/local

5)编译和安装

make

make install

编译结束后,头文件放在/root/ACE_wrappers/ace,共享文件放在/root/ACE_wrappers/lib

三、验证环境

1)Win32篇

新建一个控制台工程,输入如下代码:

#include "stdafx.h"

#include "ace/OS.h"

#include "ace/Log_Msg.h"

int main(int argcchar *argv[])

{

char *pszBuf = "Hello ACE";

ACE_OS::printf("%s\n"pszBuf);

return 0;

}

参考Win32篇搭建环境,编译如果通过,执行会输出"Hello ACE"

2)Linux篇

新建一个c++文件test_ace.cpp,编辑文件加入如下代码

#include "ace/OS.h"

#include "ace/Log_Msg.h"

int main(int argcchar *argv[])

{

char *pszBuf = "Hello ACE";

ACE_OS::printf("%s\n"pszBuf);

return 0;

}

编译 g++ -c test_ace.cpp

链接g++ test_ace.o –o test_ace.exe –lACE

执行 ./test_ace.exe

输出"Hello ACE"

 

四、参考资料

http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix_traditional

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值