Win7 vs2010 ACE.zip
1. 获取ACE.zip
下载地址: http://download.dre.vanderbilt.edu/
2. 设置环境变量
创建系统环境变量
3. 编译ACE,生成dll
ACE_ROOT\ace目录下新建config.h文件,文件内容:
// config.h
#define ACE_HAS_STANDARD_CPP_LIBRARY 1 // 用于标准C++跨平台
#include "ace/config-win32.h" // 在WIN32环境下使用ACE
#define ACE_USE_WCHAR
#define ACE_HAS_WCHAR // 支持unicode
打开ACE_ROOT\ace目录下项目ace_vc解决方案
vs2010打开ace_vc10.sln
vs2008打开ace_vc9.sln
vs2005打开ace_vc8.sln
用vs2010打开ace_vc10.sln之后,选中其中的一个项目ACE,进入项目-属性菜单,编辑配置属性-VC++ 目录
右侧的 包含目录添加$(ACE_ROOT_INC)库目录添加$(ACE_ROOT_LIB),跟原有内容之间以分号隔开。
编译该项目即可在ACE_ROOT\lib下生成所需要的ACEd.dll和ACEd.lib文件(Debug版本的为ACEd.dll ACEd.lib,Release版本的为ACE.dll ACE.lib)
可以以此对该解决方案下其他项目做同样设置,编译生成自己需要的dll和lib。
4 创建win32控制台测试
VS2010 ACE配置
选中在VS2010中的项目名[ 如解决方案[ Solution Explorer ]下的项目名],
然后右键-->属性[ properties ]--> VC++Directories,在对应目录下“增加”以下内容:
可执行文件(Executablefiles):添加$(ACE_ROOT_BIN)
包含文件(Include files):添加$(ACE_ROOT_INC)
库文件(Library files):添加$(ACE_ROOT_LIB)
注意Release和Debug版本都需添加。
5. 找到一段关于ACE的代码,进行编译,检验环境是否可用。
像普通C++项目一样,新建好控制台项目之后,还是如同第3步,在项目--属性中,编辑配置属性-VC++ 目录
右侧的 包含目录添加$(ACE_ROOT_INC),库目录添加$(ACE_ROOT_LIB),跟原有内容之间以分号隔开。
然后编译,运行。
#include "stdafx.h"
#include "ace/Log_Msg.h"
int _tmain(int argc, _TCHAR* argv[])
{
ACE_TRACE(ACE_TEXT ("main"));
ACE_DEBUG ((LM_INFO, ACE_TEXT ("Test Ace OK")));
getchar();
return 0;
}
6 如果无法编译
// 打开c:\ace\ace_wrappers\ace\config-win32-common.h
// 可以文件头添加WIN32的预定义解决
#ifndef WIN32
#define WIN32
#endif
// 针对Debug版和Release版进行不同预处理
#ifdef _DEBUG
#pragma comment(lib,"ACEd.lib")
#else
#pragma comment(lib,"ACE.lib")
#endif
7 如果运行提示找不到ACE.dll
方法1.把这个ACEd.dll放到与.exe的同一目录,这样运行可执行程序时不会报错了
方法2.把这个ACEd.dll放到C:\WINDOWS\system32目录下
方法3.增加系统变量path,系统变量PATH加上;D:\ACE_wrappers_6_0_0\lib
8 测试成功截图