(1)将ACE-5.5.zip解压到所需的安装目录,此处以D:\为例,解压后形成ACE_wrappers文件夹,因此ACE将会存在于ACE_wrappers\ace目录中。
ACE_wrappers的子目录中大致包含7个目录:分别为:
1 ace 包含ACE工具包的源码
2 bin含有许多有用的实用程序
3 apps 包含许多基于ACE的应用程序,比如Gateway消息路由
4 docs 含有与ACE的各个方面的有关信息,比如它的编码指导方针
5 examples 包含很多例子,演示怎么使用ACE类和框架
6 tests含有ACE的回归测试套件
(2)在系统中新建ACE_ROOT环境变量,值设为 D:\ACE_wrappers。具体设置为:
我的电脑->属性->高级->环境变量->新建
(3) 在D:\ACE_wrappers\ace目录中创建一个头文件,命名为config.h,其内容为:
#include "ace/config-win32.h"(必选项)
#define ACE_HAS_STANDARD_CPP_LIBRARY 1 (MSVC自带的标准C++头文件)
#define ACE_HAS_MFC 1(与MFC一起使用)
(4) 在VC++中加载ACE的工程文件(ACE_ROOT \ace\ace.dsw),在release和debug两种编译方式下进行编译,得到相应的库文件(ACE.dll、ACE.lib 和 ACEd.dll、ACEd.lib),其中ACE.dll 、ACE.lib是由release版生成的,ACEd.dll、ACEd.lib是由debug版生成的。具体操作方法:运行VC++,选择Build ->Batch Build…,将ACE-Win32 Debug和ACE-Win32 Release全部选中,Rebuild All即可.
(5)配置ACE环境。 打开VC++6.0,选择Tools->Options->Directories 加入以下内容:
1) Executable File:E:\ACE_wrappers\bin
2) Include File:E:\ACE_wrappers
3) Library Files:E:\ACE_wrappers\lib
4) Source Files:E:\ACE_wrappers
在编写程序时要在Project->Settings菜单中进行如下设置:
C/C++选项卡:
Code Generation:选择多线程版运行时库(Multithreaded DLL)。
Preprocessor:在“Additional include directories”域中加入$ACE_ROOT。
Link选项卡:
Input:在“Object/library modules”域中包含适当的ACE库文件,
这个地方也可以换成一条预编译指令即:#pragma comment(lib, "ace.lib") //这个是Release版本的请注意。
在“Additional library path”域中包含ACE库链接文件的路径。这通常是ACE_ROOT/ace。
(6). 在系统环境的变量 path中加入D:\ACE_wrappers\lib,否则在运行程序的时候碰到寻找ace.dll或者aced.dll的问题。
(7.) 在windows下release时有可能报错,错误如下:
error C2039: 'TryEnterCriticalSection' : is not a member of '`global
error C2065: 'TryEnterCriticalSection' : undeclared identifier
解决办法:
工程 Project-->setting-->C/C++ 写入:_WIN32_WINNT=0x0500
也可以在stdafx.h中写入:
#ifndef _WIN32_WINNT
# define _WIN32_WINNT 0x500
#endif