步骤:
1. 安装VS2008
2. 下载ACE
3. 新建config.h 并写入
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
//#define ACE_HAS_MFC 1(这句须注掉,不然会有内存泄露)
#include "ace/config-win32.h"并保存于D:/ACE_wrappers
4. 添加环境变量 ACE_ROOT 变量值D:/ACE_wrappers
5. 打开D:/ACE_wrappers/ace/ACE_vc9.sln
6. 工具—选项—VC++目录
包含文件中添加 $(ACE_ROOT)
引用文件中添加 $(ACE_ROOT)/lib
库文件 添加 $(ACE_ROOT)/lib
源文件 添加 $(ACE_ROOT)/ace
7. 编译,如无意外,应该能编译成功
8. 新建win32控制台应用程序—空项目,源文件右键新建C++ CPP文件。
写入hello world 程序
途中所遇问题:
1. 环境变量的设置。
2. 路径混乱。
3. error PRJ0003 : 生成“cmd.exe”时出错。 导致原因,将工具—选项—VC++目录下可执行文件中$(Path)不小心删除,系统路径出错。
注意1:
ACE项目的字符集设置是"未设置",而VS2005的c++项目默认字符集是"使用Unicode字符集",如果用到了ACE链接库时需要将字符集改为"未设置"(在"项目属性->配置属性->常规->字符集"中配置),否则可能出现链接错误。
至此,ACE的安装工作便算完成,希望这篇文章对大家安装ACE有点帮助。
//
支持unicode的ACE编译
编译前在config.h中多添加如下两行,并且将项目默认字符集改为"使用Unicode字符集"。 #define ACE_USE_WCHAR #define ACE_HAS_WCHAR
注意2:
在windows平台下,如果没有定义如上两个宏,ACE会自动将main函数重定义,并主动替你把ACE::init()和ACE::fini()调用好。添加这两个宏后,需要在main函数中手动调用。
main函数重定义这一行为不能保证在所有平台和环境下都正常运作(如使用MFC时),其实不管如何,不妨在main函数的开头和结尾分别再调用一次ACE::init()和ACE::fini()。ACE::init()和ACE::fini()里面都有嵌套层次计数机制,因此只要它们能够保证成对出现,并且不出现交叉嵌套,多调用一遍并不会出现任何问题。