ACE 开 发 环 境 构 建 笔 记

///Windows/

**************构建ACE: 


1、下载,解压缩ACE包,设置环境变量PATH包含$ACE_ROOT$/bin 

2、设置$ACE_ROOT$/ace/config.h,加入一行:(该语句是ACE针对WIN32平台的配置文件) 
#include   "ace/config-win32.h " 

注意: 
A、如果你使用9x/Me,加入: 
#define   ACE_HAS_WINNT4   0 
B、如果你要使用标准C++头文件的话 
#define   ACE_HAS_STANDARD_CPP_LIBRARY   1 
C、要使用MFC的话 
#define   ACE_HAS_MFC   1 
以上的define语句都要在#include   "ace/config-win32.h "之前包含 

3、VC6打开$ACE_ROOT$/ace/ace.dsw,VC.net打开$ACE_ROOT$/ace/ace/ace.sln,构建ACE 

4、构建成功与否,可打开$ACE_ROOT$/tests下的工程文件看看能不能编译通过 

其实,如果你初学ACE的话,暂时还不想涉及上面烦琐的步骤的话,可以找一个.exe安装包,安装完成之后,打开ace.dsw/ace.sln即可构建了;偶开始学ACE的时候,就是使用《ACE程序员指南     网络与系统编程的实用设计模式》书后自带光盘中ACE53b.exe安装、构建的。 


**************在你的程序中使用ACE方法:打开项目--> 设置: 

C/C++选项卡 
Code   Generation:选择多线程版的运行时库(如:Debug   Multithreaded   DLL) 
Proprocessor:在“附加包含路径”中包含$ACE_ROOT$ 

Link选项卡 
Input:在“对象/库模块”包含适当的ACE库文件名(附表A) 
加上.lib,如:aced.lib,acesd.lib等 
Input:在“附加库路径”中包含$ACE_ROOT$/ace 


**************附表A: 
----------------------------------------------------------- 
配置 文件名 
----------------------------------------------------------- 
DLL   debug aced 
DLL   release ace 
Static   library   debug acesd 
Static   library   release aces 
MFC   DLL   debug acemfcd 
MFC   DLL   release acemfc 
----------------------------------------------------------- 

英文比较好的,可直接查看$ACE_ROOT$/ACE-INSTALL.html#msvc

///Linux/

**************构建ACE************** 

1:下载ACE源码包。我下的是5.4版的,文件名为ACE54SRC.tar.gz。gzip解压,tar解包后,得到一个叫ACE_wrappers的目录,我把它放在/home/lok/ace目录下。注意如果我没有特别说明,所有操作都是在一般用户下进行的。 

2:编译前的必要工作。 
设置环境变量,在shell下输入:ACE_ROOT=/home/lok/ace/ACE_wrappers;   export   ACE_ROOT 
(注意上面的操作是在同一行中执行的,如果要分行,可以不用分号)。这样设置的变量只是临时的,如果想要永久保存这个变量,可以切换到root,把变量写到文件/etc/profile中; 
在$ACE_ROOT/ace目录下新建一个config.h文件,内容为:#include   "ace/config-linux.h " 
在$ACE_ROOT/include/makeinclude目录下新建一个platform_macros.GNU文件,内容为:include   $(ACE_ROOT)/include/makeinclude/platform_linux.GNU 

3:转到$ACE_ROOT/ace目录下,输入make编译,OK。 

4:切换到root用户,把刚生成的libACE.so和libACE.so.5.4.0(在$ACE_ROOT/ace目录下)拷贝到/usr/lib,ACE开发环境构建完毕! 


**************写个小程序测试ACE************** 
1:编写Log_Msg.cpp,内容如下: 
#include   "ace/Log_Msg.h " 
void   foo   (void); 
int   ACE_TMAIN   (int,   ACE_TCHAR   *[]) 

    ACE_TRACE(ACE_TEXT   ( "main ")); 
    ACE_DEBUG   ((LM_INFO,   ACE_TEXT   ( "%IHi   Mom\n "))); 
    foo(); 
    ACE_DEBUG   ((LM_INFO,   ACE_TEXT   ( "%IGoodnight\n "))); 
    return   0; 

void   foo   (void) 

    ACE_TRACE   (ACE_TEXT   ( "foo ")); 
    ACE_DEBUG   ((LM_INFO,   ACE_TEXT   ( "%IHowdy   Pardner\n "))); 


2:写makefile,内容如下: 
LIB =   -lACE 
LIBPATH =   -L$(ACE_ROOT)/ace 
HPATH =   -I$(ACE_ROOT) 

Log_Msg :   Log_Msg.cpp 
g++   Log_Msg.cpp   -o   Log_Msg   $(LIB)   $(LIBPATH)   $(HPATH) 

3:make,运行Log_Msg,测试完毕! 


***************补充************* 
$(ACE_ROOT)/example下有很多例子可以参考,但你会发现它们的makefile写得很奇怪,这是因为这些makefile是由程序自动生成的,目的是让它们可以在不同系统下都可正常工作。关于这些makefile,可以到http://www.kehui.net/index.php?op=article&file=read&aid=30812去看一下。如果你的程序只需要在linux下工作,那只要自己写上-lACE就可以了。 


转贴:http://topic.csdn.net/t/20060402/12/4657130.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部