ACE安装说明.docx
《ACE安装说明.docx》由会员分享,可在线阅读,更多相关《ACE安装说明.docx(12页珍藏版)》请在冰豆网上搜索。
![ACE安装说明.docx](https://file1.bdocx.com/fileroot1/2023-1/4/5050f914-1a7c-4b1d-96b6-341b60c9ccb7/5050f914-1a7c-4b1d-96b6-341b60c9ccb71.gif)
ACE安装说明
第一章:
Windows平台2
第二章:
Linux平台5
第三章:
AIX(IBM)平台8
第四章:
SUN平台8
第五章:
HP-UNIX平台9
第一章:
Windows平台
1、把程序包放在D盘根目录下面:
目录就是这个样子D:
\ACE_wrappers。
2、在目录D:
\ACE_wrappers/ace/下面建立一个config.h文件(一般情况下,这个文件不存在,如果已经存在,则只需要修改内容)。
3、在config.h中,增加如下一行内容:
#include“ace/config-win32.h”
这个头文件实际上包含了windows平台的各种编译器版本。
4、打开工程D:
\ACE_wrappers/ace/ace.dsw,直接编译,生成debug版本的dll,放在
D:
\ACE_wrappers/lib下面。
5、如果你是Win9*/ME版本,需要在3的内容前面增加一行:
#defineACE_HAS_WINNT40
6、如果你想用VC自带的C++标准库,需要增加一行:
#defineACE_HAS_STANDARD_CPP_LIBRARY1
7、默认为debug版本的dll,如果想要编译静态库,需要增加一行:
#defineACE_AS_STATIC_LIBS1
注:
虽然ACE可以和MFC等混合使用,但是由于ACE主要针对跨平台使用,和MFC搭配还有一些缺陷,有些甚至是目前无法解决的,请谨慎使用(针对V5.4版本及低级版本)。
另外转一个网络文章:
转贴网络文摘
======================================================================
C++网络开发包ACE环境的配置与调试
ACE是个很有用的开放源代码的C++网络编程开发包,利用它比直接用API更有利于代码的健壮性,可移植性,并相对简单。
估计大家刚接触ACE时,都有一定难度,说不定就半途放弃了,这是我学ACE两天中的总结,基本上不成文,但我想研究到ACE的你一定会明白下文的意思。
我的系统环境是:
Win2kpro(sp4)、VC6.0(sp5)
过一阵,我的主页上要开论坛,并设VC专区,欢迎大家上去交流
一、ACE官方主页:
http:
//www.cs.wustl.edu/~schmidt/ACE.html
下载地址:
http:
//deuce.doc.wustl.edu/Download.html
我下载的是LatestBetaKit中的ACE.zip(LatestRelease中的压缩包好像有问题,我有WinRAR3.30解压缩报错)
二、解压缩后放在D盘
D:
\ACE_wrappers
三、在D:
\ACE_wrappers\ace目录下新建文件config.h加入一行
#include"ace/config-win32.h"
四、编译:
用VC6.0打开D:
\ACE_wrappers\ace\ace.dsw
左侧显示 ACEDLLclasses
ACELIBclasses
或1、从菜单上选择“编译”,“放置可远行配置”,选择你需要的工程配置
“编译”,“重建全部”(或任一,如ACEDLL-Win32MFCDebug)
此过程可能持续半小时至一个小时不等
或2、从菜单上选择“编译”,“批构建”,选择你需要的工程配置
此过程可能持续二至四个钟头
产生的.lib文件位于D:
\ACE_wrappers\ace\下,
产生的.dll文件位于D:
\ACE_wrappers\bin\下
同样打开ace_static.dsw
编译
ACEs.lib
ACEsd.lib
ACE_RMCasts.lib
ACE_RMCastsd.lib
TMCasts.lib
TMCastsd.lib
ACE生成的dll和lib文件的命名规则:
(d=debug,s=static)
debug-aced.lib、debug+static-acesd.lib、release-ace.lib、release+static-aces.lib
五、样例程序的编译
用VC打开D:
\ACE_wrappers\tests\tests.dsw
“编译”,“批构建”
六、自写程序的工程配置
中篇:
ACE程序员教程.pdf中的样例程序:
网址:
http:
//www.cs.wustl.edu/~schmidt/ACE_wrappers/docs/tutorials/guide-tutorials.html
将网页上的原代码复制到一新建文件,并命名为server.cpp
用VC打开,编译,重建全部,弹出对话框,“Thisbuildcommandrequire...“,点”是“
会出现以下错误
如果有“Cannotopenincludefile:
'ace/SOCK_Acceptor.h':
Nosuchfileordirectory”
工程-设置-C/C++:
Preprocessor,附加包含路径:
D:
/ACE_wrappers
如果有“Youmustlinkagainstmulti-threadedlibrarieswhenusingACE(checkyourprojectsettings)”
工程-设置-C/C++:
CodeGeneration-Userun-timelibrary:
DebugMultithreadedDll
如果有“errorC2065:
'ACE_ERROR':
undeclaredidentifier”
errorC2065:
'ACE_DEBUG':
undeclaredidentifier
#include"ace/Log_Msg.h"
errorC4716:
'ace_main_i':
mustreturnavalue
在main中加入
return0;
“errorLNK2001:
unresolvedexternalsymbol"__declspec(dllimport)int__cdecl”
工程-设置-Link-Input:
对象/库模块:
添加aced.lib 附加库路径:
D:
\ACE_wrappers\ace
编译client中遇到的问题
1、errorC2039:
'sprintf':
isnotamemberof'ACE_OS'
#include"ace/OS_NS_stdio.h"
2、errorC2039:
'strlen':
isnotamemberof'ACE_OS'
#include"ace/OS_NS_string.h"
3、errorC2059:
syntaxerror:
'?
'
错误在这一句:
ACE_DEBUG((LM_DEBUG,?
UsageegX\n?
));
将?
改为"
4、无法找到动态链接库aced.dll于指定的路径
为系统变量PATH加上D:
\ACE_wrappers\bin
静态包含:
工程-设置-C/C++-预处理程序定义中加入,ACE_AS_STATIC_LIBS
例1server编译后生成
server.exe16K serverd.exe97K servers.exe124Kserversd.exe669K
(servers.exe较适合发布)
例2client编译后生成
client.exe16K clientd.exe97K clients.exe124Kclientsd.exe669K
(clients.exe较适合发布)
测试clients127.0.0.11919
servers1919
提醒大家要注意一点
一定在使用任何ACE代码前调用ACE:
:
init(),使用完之后调用ACE:
:
fini()。
如果忘记写编译器是不会提醒你的。
也就是会得到ACE本来要解决的——运行时错误
第二章:
Linux平台
摘自:
张弛(zhangchi@)
本文详细描述了在Linux操作系统上安装和配置“自适应通信环境(ACE)”的过程和注意事项。
文中的描述基于RedHatLinux9操作系统和ACE5.4版
(1)准备工作:
1、确保你的Linux操作系统的开发环境(gcc、make……)是完整且可用的。
2、在安装ACE的过程中,可能需要root权限,因此确保你拥有root帐户的密码。
3、对于典型的Redhat9系统,autoconf程序的版本可能过低,你需要首先升级它。
升级的步骤如下:
1、在控制台中输入autoconf-V,查看你的autoconf程序的版本。
2、如果低于2.57g,你需要到http:
//www.gnu.org/software/autoconf/
去下载最新版本的autoconf程序,目前autoconf程序的版本是2.59。
3、根据tarball中的安装说明,编译并安装升级autoconf程序。
(2)开始安装:
经过上面的准备工作,现在你已经具备了安装ACE的条件。
下面开始正式的安装工作。
1、首先确定ACE的安装路径,并建立相应的目录。
这里,我们把ACE安装在/home/zhc/ace/的目录下,先执行mkdir/home/zhc/ace
2、然后将获得的ACE源代码包解至该目录下。
tarzxvfACE-5.4.tar.gz/home/zhc/ace
3、这时,在ace的目录下会建立一个名为ACE_wrappers的子目录,ACE所有的源代码、工具、和例子都在这个目录中。
先进入该目录,执行 cd/home/zhc/ace/ACE_wrappers
然后建立一个子目录,用于存放ACE编译后的目标文件 mkdirbuild
cdbuild
4、执行configure脚本,检查你的系统环境,配置并生成适合你的系统的Makefile文件。
在执行configure脚本时,可以加入许多配置选项,其详细说明可以参看ACE_wrappers目录下的ACE-INSTALL.html文件,
对于Redhat9系统来说,不必加任何参数,ACE就可以很好的工作了。
../configure
5、在漫长的检查和配置之后,如果没有什么问题,你就可以开始编译了。
这一步很简单,执行 make
然后,泡一杯茶,静静的等待就行了。
6、如果编译顺利的通过(通常都会是这样的),那么恭喜你,你已经成功了一大半了,下面要做的仅仅是以些配置工作而已。
接下来的工作是安装,这一步是可选的,目的是把编译生成的ACE的库文件、头文件和手册页等安装到/usr/local的相应目录中去,为了今后使用的方便,我建议你还是进行这一步,执行
su
root'spassword
makeinstall
7.安装之后,我们就可以进行最后的配置工作了。
首先设置环境变量ACE_ROOT,执行
setenvACE_ROOT/home/zhc/ace/ACE_wrappers
注意其中的路径要根据你的实际情况而定
如果你不想每次都手工设定路径,可以编辑你的bash的配置文件,执行cd
vi.bash_profile
在其中填加如下两行
ACE_ROOT=/home/work/research/ace/ACE_wrappers
exportACE_ROOT
8.然后,在$ACE_ROOT/ace目录中创建一个名为config.h的文件,在其中包含如下一行#include"ace/config-linux.h"
或者,简单起见,你也可以直接建立一个指向config-linux.h的符号链接,执行
ln-sconfig-linux.hconfig.h
9.同样,在$ACE_ROOT/include/makeinclude目录中创建一个名为platform_macros.GNU的文件,在其中包含如下一行
include$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
或者,简单起见,你也可以直接建立一个指向platform_linux.GNU的符号链接,执行 ln-splatform_linux.GNUplatform_macros.GNU
10.最后一步,设置环境变量LD_LIBRARY_PATH,执行
setenvLD_LIBRARY_PATH
$ACE_ROOT/ace:
$ACE_ROOT/lib:
/usr/local/lib:
$LD_LIBRARY_PATH
或者在~/.bash_profile文件中添加如下两行
LD_LIBRARY_PATH=$ACE_ROOT/ace:
$ACE_ROOT/lib:
/usr/local/lib:
$LD_LIBRARY_PATH
exportLD_LIBRARY_PATH
(3)安装完成:
经过上面的步骤,ACE已经安装到了您的系统上了,下面我们将编译并执行ACE的例程以验证我们的工作。
这里我们以《C++网络编程,卷一》所带的例子为例。
1.进入例程目录,执行cd$(ACE_ROOT)/examples/C++NPv1
2.编译例子程序,执行make
如果前面的安装和配置正确,很快就能够得到编译后的例子程序。
3.分别执行一个服务器程序(随便哪一个都行)和一个客户端程序(Logging_Client),如果程序运行正确,说明前面的安装和配置成功,下面你就可以开始你的ACE学习之旅了。
以上方法已经在SUSE和REDHAT上完成。
还有一个安装的例子:
aceforlinux的安装
由于安装说明文件“ACE-INSTALL.html”中提及的linux安装过程极少,其主要针对Unix、Windows,手动配置较多,加上本人安装后感觉“ACE-INSTALL.html”文件有些影响视听,因为主要的动作都可以由ACE包中的安装脚本ACE-install.sh自动完成,我们主要的工作就可以直接对这个安装脚本来处理即可。
1、安装环境:
lRedHat9.0
ACE安装包ACE+TAO+CIAO.tar.gz,
http:
//deuce.doc.wustl.edu/Download.html,"LatestBetaKit",beta版既是ACE的最新版。
2、安装过程:
第一步
先设置ACE_ROOT环境,命令:
“vi/etc/profile”
在其中加入4行
ACE_ROOT=/opt/ACE
exportACE_ROOT
LD_LIBRARY_PATH=$ACE_ROOT/ace:
$LD_LIBRARY_PATH
exportLD_LIBRARY_PATH
我是加在“exportPATHUSER….”后的。
完成后将/etc/profile执行一次,命令:
“chmod555/etc/profile”
“/etc/profile”
这样我们的ACE_ROOT就设置好了,可以用如下命令查看ACE_ROOT是否设置好了:
“echo$ACE_ROOT”
这个时候最好reboot启动一次linux。
第二步
不要自己手工将ACE+TAO+CIAO.tar.gz包完全解开,特别强调不要完全解开,后面可以看到安装脚本会给我们解开它的;如果你手工解开全部,安装脚本将会将你的解压缩目录删除的!
我们要做的事就只是将ACE+TAO+CIAO.tar.gz包中的ACE-install.sh安装脚本单独解出来,并对其修改。
我们只要这一个文件就可以。
用mkdir建目录,如/home/my/ACE,然后将你的ACE+TAO+CIAO.tar.gz放在此目录下(用cp命令拷贝或mv命令移动到此目录)。
注意这个目录将是你的一个存放ACE+TAO+CIAO.tar.gz的目录,安装脚本会来这个目录找这个文件的,这个目录和ACE_ROOT是不一样的,且ACE-install.sh也提示不要将这两个目录设置成同一个目录。
ACE_ROOT将是我们的安装目标目录。
从ACE+TAO+CIAO.tar.gz解压出单个文件ACE-install.sh:
“tar–zxvfACE+TAO+CIAO.tar.gzACE_wrappers/ACE-install.sh”
解好后,会出来一个新的子目录“ACE_wrappers”。
此时可以先将ACE-install.sh移到外面的目录来:
“mv/ACE_wrappers/ACE-install.sh.”
“.”代表当前目录。
当然ACE-install.sh在什么路径下是没什么影响的,因为我们要对ACE-install.sh的内容进行修改的,里面有很多路径要修改。
好,现在在/home/my/ACE就有了ACE-install.sh,我们现在用vi对其进行修改,修改前自己可以先备份一个。
命令:
“cpACE-install.shACE-install.sh.bak”
“viACE-install.sh”
我们可以看到缺省的,这个文件是用来在UNIX下做安装的。
所以我们要将其中的有关UNIX的部分换成linux即可。
先找到“MY_ACEDIR=${HOME}/aceconfig”,将其改成“MY_ACEDIR=/home/my/ACE”,就是改成我们自己建的、放有ACE+TAO+CIAO.tar.gz文件的目录,之后去掉前面的注释“#”号。
接着在下面一点,找到“MY_ACE_CONFIG=config-sunos5.4-sunc++-4.x.h”,将其修改成“MY_ACE_CONFIG=config-linux.h”,即改成linux下的配置文件。
继续改,找到“MY_ACE_GNU_MACROS=platform_sunos5_sunc++.GNU”,将其改成“MY_ACE_GNU_MACROS=platform_linux.GNU”。
这个是各种操作系统平台下的GNU宏文件设置。
好了,文件修改完毕,保存退出“:
wq”。
第三步
我们的重点到了,现在就可以安装ACE了。
此时应该是在/home/my/ACE目录下,我们执行:
./ACE-install.sh
第三章:
AIX(IBM)平台
1、把ace放到机器上面:
/ztesoft/ocs/ACE-5.5。
2、创建环境变量ACE_ROOT=/ztesoft/ocs/ACE-5.5/ACE_wrappers;exportACE_ROOT
3、在目录$ACE_ROOT/ace/下面建立一个config.h文件(一般情况下,这个文件不存在,如果已经存在,则只需要修改内容)。
在config.h文件中增加一行:
#include"ace/config-aix-5.x.h"
4、在目录$ACE_ROOT/include/makeinclude/下面建立一个platform_macros.GNU文件,并在文件中增加一行(针对IBM平台):
include$(ACE_ROOT)/include/makeinclude/platform_aix_ibm.GNU
5、打开platform_aix_ibm.GNU文件,会发现在15行有这么一行:
buildbits?
=native,这个就是配置平台的字长,OCS系统是64位的,所以这里也要配成buildbits?
=64。
6、在$ACE_ROOT/ace下面make。
正常情况下需要安装gmake,但是在ACE5.6以上版本,则不需要,但是需要做一些修改:
ACE的安装是比较麻烦的,我在所内的部署是选取Riverace公司商业支持的安装程序,对对应的版本的,之前我看到上面才支持到VACPP6.0,然后下载到XLC8.0的机器上编译,也能通过的,现在网页上已经标出支持XLC8.09.0了;
安装步骤是:
设定环境变量。
exportACE_ROOT=xxx/ACE56/ACE_wrappers
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:
$ACE_ROOT/ace:
$ACE_ROOT/lib:
$ACE_ROOT/bin
exportPATH=$PATH:
$ACE_ROOT/ace:
$ACE_ROOT/lib:
$ACE_ROOT/bin:
/usr/vacpp/bin
接着,添加环境配置文件。
cdxxx/ACE56/ACE_wrappers/ace/
cp./config-aix-5.x.x.h./config.h
cd../include/makeinclude/
ln-splatform_aix_ibm.GNUplatform_macros.GNU
ACE_wrappers目录下是否有objdir,如果有,删除该目录先所有内容,如果没有,就新建一个,然后在该目录下执行../configure,执行时间会很长,我执行了近1个小时,
然后会在该目录下生成对应的编译文件等,然后就编译,我是用root用户编译的,注意root用户的切换方式,