1. 将下载的ACE解压到本地目录。例:D:/ACE_wrappers。一下以都以该目录为例子说明。
2. 在D:/ACE_wrappers/ace目录下创建文件config.h
文件内容如下:
//
/*
如果你希望使用MSVC自带的标准C++头文件(C++ Standard Draft 2种定义的iostream,cstdio…..),
则应该增加如下定义到你的config.h文件中.
*/
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
//
/*
如果需要和MFC一起使用,增加如下定义到你的config.h文件中,
注意,如果你想使用spawn一个新的线程,则必须保证使用THR_USE_AFX标志来spawn线程。
*/
#define ACE_HAS_MFC 1
//
/*
如果你希望ACE与MFC的静态版本连接,则可以在config.h中定义ACE_USES_STATIC_MFC。
然而,如果你希望静态的连接所有的库(包括MSVC运行时库),就需要自己修改工程文件了。
*/
#define ACE_USES_STATIC_MFC 1
//
/*
作为一个可选项,你可以在来取消函数内联从而减小静态库(和你的运行码)的大小。
*/
//#define ACE_NO_INLINE 1
//
/*
如果要构建ACE的静态版本,则需要在config.h中定义ACE_AS_STATIC_LIBS,
此宏在那些希望使用ACE的静态版本的应用工程中也必须定义。
*/
//#define ACE_AS_STATIC_LIBS 1
//
//最好定义这些项
#ifndef WINVER
#define WINVER 0x0500 // Windows 2000 or later
#endif
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0500 // Windows 2000 or later
#endif
#ifndef _WIN32_WINDOWS
#define _WIN32_WINDOWS 0x0500 // Windows Me or later.
#endif
#ifndef _WIN32_IE
#define _WIN32_IE 0x0600 // Internet Explorer 6.0 or later
#endif
//
//该头文件必须包含
#include "ace/config-win32.h"
3. VC60中编译ACE
动态连接库版本:
打开D:/ACE_wrappers/ace/ace.dsw
在Project->Settings->General->Microsoft Foundation Classes 项选择Use MFC in a Static Libaray。目的是为了减少ACE.DLL的DLL文件依赖项
在Project->Settings->C/C++->Preprocessor definitions:项中添加_MBCS的定义。目的是为了使ACE.DLL支持多字节字符集
在Project->Settings->C/C++->Code Generation:项中修改Runtime Library为MTD/MT。
Debug和Release使用相同的设置
编译工程即可
静态连接库版本:
打开D:/ACE_wrappers/ace/ ace_Static.dsw
在Project->Settings->General->Microsoft Foundation Classes 项选择Use MFC in a Static Libaray。目的是为了减少ACE.DLL的DLL文件依赖项
在Project->Settings->C/C++->Preprocessor definitions:项中添加_MBCS的定义。目的是为了使ACE.DLL支持多字节字符集
Debug和Release使用相同的设置
必须在config.h中定义#define ACE_AS_STATIC_LIBS 1并且在那些使用静态连接库的工程中必须再次定义#define ACE_AS_STATIC_LIBS 1。
方法: 在Project->Settings->C/C++->Preprocessor definitions:项中添加
ACE_AS_STATIC_LIBS的定义
4. VC2003、VC2005、VS2008中编译ACE
方法同在VC60中编译类似,只不过要打开对应的工程文件即可
VC2003:ace_vc71.sln
VC2005:ace_vc8.sln
VC2008:ace_vc9.sln
注:ACE最后一个对VC60支持的版本为5.5.1。使用ACE时最好使用x.x.1的版本,如5.5.1,5.6.1,5.7.1等。x.x.1版本是x.x系列中只修改BUG不添加新功能的最新版本。
5. ACE和VC环境集成
使用ACE的lib文件时,最好使用该开发环境编译的lib和dll。即:VC60中最好使用VC60编译的lib和dll,VC2003中最好使用VC2003编译的lib和dll,VC2005中最好使用VC2005编译的lib和dll。各个开发环境编译的lib和dll最好分开保存。
将以下目录添加到VC开发环境中
Executable files
D:/ACE_WRAPPERS/BIN
Include files
D:/ACE_WRAPPERS
Libaray files
D:/ACE_WRAPPERS/LIBVC6_S
or
D:/ACE_wrappers/libvc2003_s
or
D:/ACE_wrappers/libvc2005_s
Source files
D:/ACE_WRAPPERS