posts - 17,comments - 7,trackbacks - 0
*************构建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

ACE环境构建笔记(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目录下,新建一个目录,用以执行configure的结果
  mkdir aaa
  cd aaa
在$ACE_ROOT/aaa中运行
  ../configure
在确认结果无误后,执行
  make
   
  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就可以了。 

posted on 2008-12-26 23:57 。。。。 阅读(970) 评论(0)  编辑 收藏 引用 所属分类: ACE

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理