ACE 安装 绝对成功 转载

转载:http://hi.baidu.com/wfpb_1984/blog/item/23d80f5486a73356574e0037.html

当初我安装ACE时,失败了几次,后来按照这个来,才完全成功。
如果大家有人使用VC助手的话,安装完后打开VC编写程序时,编译器最下面VX会不停的加载头文件,因为它要达到能够提示完成函数原形的功能,所以他要全部加载,但是每次都如此,会比较烦,你可以点击VX的option里设置一下directory,增加你的ace文件夹到里面,这样就OK了,终于可以爽爽的用了。

 

整理方法如下:

一. Windows下for MSVC的安装与配置

我们用的是ACE-5.4+TAO-1.4+CIAO-0.4.zip,Windows下解压缩该压缩包到目标路径(设为D:/软件安装/编程学习软件/ACE_wrappers ),

创建文件:$ACE_ROOT/ace/config.h,增加一行:
#i nclude "ace/config-win32.h"

如果是在Windows 9x/Me下,需要在$ACE_ROOT/ace/config.h中#i nclude语句前加入:
#define ACE_HAS_WINNT4 0

如果想使用standard C++ header,需要在$ACE_ROOT/ace/config.h中#i nclude语句前加入:
#define ACE_HAS_STANDARD_CPP_LIBRARY 1

如果想把MFC作为静态库链接到ACE(If you prefer to link MFC as a static library into ACE),
则需要在$ACE_ROOT/ace/config.h中#i nclude语句前加入:
#define ACE_HAS_MFC 1

如果想生成ACE静态库或在工程中使用ACE静态库,都需要定义以下宏:
ACE_AS_STATIC_LIBS


打开工程,D:/软件安装/编程学习软件/ACE_wrappers/ace.dsw,编译生成以下库:

ace.dll/ace.lib (DLL release)
aced.dll/aced.lib(DLL debug)
acemfc.dll/acemfc.lib (MFC DLL release)
acemfcd.dll/acemfcd.lib(MFC DLL debug)

aces.lib   (Static library release)
acesd.lib (Static library debug)

这些库可分别实现了Debug/Release, MFC/Non-MFC, Static/Dynamic library.

其中前四个的dll在D:/软件安装/编程学习软件/ACE_wrappers/lib目录下, 所有对应的.lib库文件在D:/软件安装/编程学习软件/ACE_wrappers/ace下。

ACE是网络通讯中间件,如果机器没有装网卡,就仿真一个,比如可以从控制面板选装MS Loopback Adapter。

接下来我们创建一个新的工程,如果机器上装了不同版本的ACE,需要针对某个版本配置,方法如下:

1. 配置C/C++ tab

(1) Code Generation category中应选择合适的选项:
Multithreaded和Multithreaded DLL是for Release版的
Debug Multithreaded和Debug Multithreaded DLL是for Debug版的

(2) $(ACE_ROOT)路径的配置:
如果需要针对不同版本ACE灵活配置的话,则需要设置Preprocessor category中"Additional include directories"
这一项,指明特定版本ACE所在的路径,比如D:/软件安装/编程学习软件/ACE_wrappers

2. 链接到特定版本的ACE库。

(1) 在Project/Setting/Link的Input category下 "Additional library path"中增加特定版本的ACE库文件路径,
比如D:/软件安装/编程学习软件/ACE_wrappers/ace,然后将D:/软件安装/编程学习软件/ACE_wrappers/lib目录下对应的dll拷贝到工程文件所在路径下,或者在环境
变量PATH中加入D:/软件安装/编程学习软件/ACE_wrappers/lib。

(2) 在Project/Setting/Link的Input category下"Object/library modules" 中指定需要包含的ACE库(*.lib)


如果只装了一个ACE,可采用对所有工程都生效的缺省配置,方法如下:

1. 添加环境变量:
ACE_ROOT:   D:/软件安装/编程学习软件/ACE_wrappers
PATH 中加入:D:/软件安装/编程学习软件/ACE_wrappers/lib

2. 设置VS的路径:
Include files包含:D:/软件安装/编程学习软件/ACE_wrappers
library files包含:D:/软件安装/编程学习软件/ACE_wrappers/ace

此后,就可以在工程中指定需要包含的ACE库(*.lib)后正常使用了。


二. Linux下的安装与配置
1.安装
以用户aceuser为例
(1)下载ACE-5.4+TAO-1.4+CIAO-0.4.tar.gz(其它版本的也一样)


(2)解压之
     #cd /home/aceuser/ace
     #tar -xzvf   ACE-5.4+TAO-1.4+CIAO-0.4.tar.gz

(3)
   #vi /home/aceuser/.bashrc
   加入下面两行:
   export ACE_ROOT=/home/aceuser/ace/ACE_wrappers
   export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ACE_ROOT/ace
  
   并使这些环境变量生效(运行source 或者重新登陆)。

(4)
  
   #cd /home/aceuser/ace/ACE_wrappers/ace/
   #cp ./config-linux.h ./config.h
   #cd ../include/makeinclude/
   #ln -s ./platform_linux.GNU ./platform_macros.GNU

(5)编译
   #cd /home/aceuser/ace/ACE_wrappers/ace/
   #make
   对于ACE-5.4+TAO-1.4+CIAO-0.4这个版本,不能ACE-5.4+TAO-1.4+CIAO-0.4.zip这个压缩包,否则会出现如下错误:
   ln -s libACE.so.5.4.0 libACE.so
   chmod a+rx libACE.so.5.4.0
   : command not foundpers/lib/ace_components: line 10
   '/home/aceuser/ace/ACE_wrappers/lib/ace_components: line 31: syntax error near unexpected token 'in
   '/home/aceuser/ace/ACE_wrappers/lib/ace_components: line 31: ' case $1 in
   make[1]: ***[ACE_COMONENTS] Error 2
   make[1]: Leaving directory '/home/aceuser/ace/ACE_wrappers/ace'
   make: ***[all] Error 2
   如果换成ACE-5.4+TAO-1.4+CIAO-0.4.tar.gz就没有任何问题了

   编译时也可以根据自己的需要设置编译选项
   #make [options]
   下面是option的描述:
Option          Description
debug=1|0    Enable or disable debugging in the built library or program. Default is enabled (1).
optimize=1|0    Turn compiler optimization on or off. Default is off (0).
buildbits=bits    Explicitly select, for example, 32-bit or 64-bit build target. Default is the compiler's default for the build machine. This option works for AIX, Solaris, and HP-UX.
exceptions=1|0   Enable or disable exception handling. Default is platform specific but usually enabled (1).
   inline=1|0    Enable or disable inlining of many of ACE's methods. Default is platform specific but usually enabled (1).
templates=model   Specify how templates are instantiated. Most common values for model are automatic, the default for compilers that support it well, and explicit, requiring source code directives to explicitly instantiate needed templates (see Section 1.6.1).
   static_libs=1|0   Build and use static libraries. Default is to not build static libraries (0).

2.使用
下面介绍如何从零开始建立一个使用ACE的工程。并使之run起来

(1)编写使用了ACE的代码
(2)编写Makefile

lib = hello_ace
FILES = Piece2 Piece3
SRC= $(addsuffix .cpp,$(FILES))
OBJ= $(addsuffix .o,$(FILES))
BUILD    = $(Vlib)
#---------------------------------------------------------
# Include macros and targets
#---------------------------------------------------------
include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
include $(ACE_ROOT)/include/makeinclude/macros.GNU
include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
include $(ACE_ROOT)/include/makeinclude/rules.local.GNU

以上的Makefile包含3个cpp文件hello_ace.cpp、Piece2.cpp和Piece3.cpp

(3)编译
    #make
   如果程序没有任何问题,现在程序应该就可以运行了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ACE 自适配通信环境(ADAPTIVE Communication Environment)是可自由使用、开放源码的面向<br>对象(OO)框架(framework),它实现了许多用于并发通信软件的核心模式。ACE 提供了一组丰富的可<br>重用 C++包装外观(wrapper facade)和框架组件,可跨多种平台完成通用的通信软件任务,其中包括:<br>事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分<br>布式服务动态(重)配置、并发执行和同步,等等。 <br>ACE 的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、事件多路分<br>离、显式动态链接和并发的 OO网络应用和服务的开发。此外,通过服务在运行时与应用的动态链接,A<br>CE 使系统的配置和重配置得以自动化。 <br>ACE 正在进行持续的改进。Riverace 公司(http://www.riverace.com<br>)采用开放源码商业模式对 ACE<br>进行商业支持。此外,ACE 开发组的许多成员目前正在进行 The ACE ORB(TAO,http://www.cs.wustl.<br>edu/~schmidt/TAO.html)的开发工作。<br><br>使用 ACE的好处 <br><br>诸多使用 ACE 的好处包括: <br>增强可移植性:在 ACE 组件的帮助下,很容易在一种 OS 平台上编写并发网络应用,然后快速地将<br>它们移植到各种其他的 OS 平台上。而且,因为 ACE 是开放源码的自由软件,你无需担心被锁定在<br>特定的操作系统平台或编译器上。 更好的软件质量:ACE 的设计使用了许多可提高软件质量的关键模式,这些质量因素包括通信软件<br>灵活性、可扩展性、重用性和模块性。 更高的效率和可预测性:ACE 经仔细设计,支持广泛的应用服务质量(QoS)需求,包括延迟敏感应<br>用的低响应等待时间、高带宽应用的高性能,以及实时应用的可预测性。 更容易转换到标准的高级中间件:TAO使用了 ACE 提供的可重用组件和模式。它是 CORBA的开发<br>源码、遵循标准的实现,并为高性能和实时系统作了优化。为此,ACE 和 TAO被设计为能良好地协<br>同工作,以提供全面的中间件解决方案。
ACE 自适配通信环境(ADAPTIVE Communication Environment)是可自由使用、开放源码的面向<br>对象(OO)框架(framework),它实现了许多用于并发通信软件的核心模式。ACE 提供了一组丰富的可<br>重用 C++包装外观(wrapper facade)和框架组件,可跨多种平台完成通用的通信软件任务,其中包括:<br>事件多路分离和事件处理器分派、信号处理、服务初始化、进程间通信、共享内存管理、消息路由、分<br>布式服务动态(重)配置、并发执行和同步,等等。 <br>ACE 的目标用户是高性能和实时通信服务和应用的开发者。它简化了使用进程间通信、事件多路分<br>离、显式动态链接和并发的 OO网络应用和服务的开发。此外,通过服务在运行时与应用的动态链接,A<br>CE 使系统的配置和重配置得以自动化。 <br>ACE 正在进行持续的改进。Riverace 公司(http://www.riverace.com<br>)采用开放源码商业模式对 ACE<br>进行商业支持。此外,ACE 开发组的许多成员目前正在进行 The ACE ORB(TAO,http://www.cs.wustl.<br>edu/~schmidt/TAO.html)的开发工作。<br><br>使用 ACE的好处 <br> <br>诸多使用 ACE 的好处包括: <br> 增强可移植性:在 ACE 组件的帮助下,很容易在一种 OS 平台上编写并发网络应用,然后快速地将<br>它们移植到各种其他的 OS 平台上。而且,因为 ACE 是开放源码的自由软件,你无需担心被锁定在<br>特定的操作系统平台或编译器上。 更好的软件质量:ACE 的设计使用了许多可提高软件质量的关键模式,这些质量因素包括通信软件<br>灵活性、可扩展性、重用性和模块性。 更高的效率和可预测性:ACE 经仔细设计,支持广泛的应用服务质量(QoS)需求,包括延迟敏感应<br>用的低响应等待时间、高带宽应用的高性能,以及实时应用的可预测性。 更容易转换到标准的高级中间件:TAO使用了 ACE 提供的可重用组件和模式。它是 CORBA的开发<br>源码、遵循标准的实现,并为高性能和实时系统作了优化。为此,ACE 和 TAO被设计为能良好地协<br>同工作,以提供全面的中间件解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值