*************构建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
。。。。 阅读(997)
评论(0) 编辑 收藏 引用 所属分类:
ACE