ACE(ADAPTIVE Communication Environment),ACE入门的第一课就是要学习怎么在自己的系统上构建ACE。
ACE是跨平台的,这是它的一个很重要的特性,ACE支持很多的操作系统.
Windows下的ACE构建
在http://download.dre.vanderbilt.edu/ ,我下载的是最新版本的,ACE-6.4.0
1:现在以D:Ace 为例,解压后形成ACE_wrappers文件夹,因此ACE将会存在于ACE_wrappersace目录中。ACE_ROOT=D:AceACE_wrappers。
2:在D:AceACE_wrappersace目录中新建一个头文件,命名为config.h其内容为
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"
其中第一行是因为我想用标准C++跨平台,第二行则是必须要的
要用UNICODE,加#define ACE_USES_WCHAR 1
3:配置环境变量
ACE_ROOT:ACE_wrappers所在的目录,这里是D:AceACE_wrappers
PATH:%ACE_ROOT%lib
设置ACE_ROOT是为了便于设置ACE有关的include头文件目录
设置PATH,是为了当你的基于ACE的应用程序执行时,系统可以找到相应的ACE动态连接库,发布版本对应的是ACE的发布版本DLL(ACE.dll),调试版本对应的是ACE的调试版本DLL(ACEd.dll)
4:我本地安装了visual Studio 2012,所以我用vs2012打开ACE的工程文件,在release和debug两种编译方式下进行编译,得到相应的库文件(ACE.dll、ACE.lib 和 ACEd.dll、ACEd.lib),其中ACE.dll 、ACE.lib是由release版生成的,ACEd.dll、ACEd.lib是由debug版生成的。
在这个编译过程中可能报错,我遇见的需要修改
5:配置ACE环境
打开vs2012,项目---属性-----VC++目录
1) 可执行目录:D:AceACE_wrappersin
2) 包含目录:D:AceACE_wrappers
3) 库目录:D:AceACE_wrapperslib
4)源目录:E:ACE_wrappers
还有以下配置:
1:
2:
3:
注:可以在头文件中加入如下代码就不用再手动填加lib库文件
#ifdef _DEBUG
#pragma comment (lib,"ACEd.lib")
#else
#pragma comment (lib,"ACE.lib")
#endif
在linux下的构建还没实际操作:就不再介绍了.