版权声明:作者写博是为了总结经验,和交流学习之用。 如需转载,请在文章页面明显位置给出原文连接。谢谢!如有问题,请留言! https://blog.csdn.net/changqing5818/article/details/82857723
简单说明
win10下使用VS2013编译ACE6.3.0动态库的步骤记录。
编译步骤说明
1)下载地址:http://download.dre.vanderbilt.edu/
下载最新版本,选择Latest Micro Release Kit项下的ACE.zip即可。
下载历史版本,选择如下:
我这里下载的ace.6.3.0.
2)查看Visual Studio版本:帮助 -> 关于MicroSoft Visual Studio
对应VC12
3)解压编译
3.1)解压后进入ACE+TAO+CIAO-6.3.0\ACE_wrappers\ace
目录下,新建config.h
文件:
#ifndef ACE_CONFIG_H
#define ACE_CONFIG_H
// 使用STL 库
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
//工程使用unicode字符,添加以下2行
#define ACE_HAS_WCHAR
#define ACE_USES_WCHAR
// 在WIN32环境下使用ACE
#include "ace/config-win32.h"
#endif /* ACE_CONFIG_H */
按需添加以下定义:
// 编译静态版本的 ACE 库
#define ACE_AS_STATIC_LIBS 1
// 使用 MFC 库
#define ACE_HAS_MFC 1
// 使用 MFC 静态库
#define ACE_USES_STATIC_MFC
// 减少静态库的大小,可以禁止使用 inline
#define ACE_NO_INLINE
3.2)打开ACE+TAO+CIAO-6.3.0\ACE_wrappers\ace\ace_vc12.sln
3.3)右键ACE->属性->配置属性->常规
目标文件名修改为:ACE
配置管理器:选择Release x64
字符集:选择使用Unicode字符集
MFC的使用:选择使用标准Windows库
3.4)属性页->配置属性->C/C+±>代码生成->运行库”设置为”多线程DLL(/MD)
3.5)属性页->配置属性->C/C+±>预处理器->预处理器定义
新增:NO_WARN_MBCS_MFC_DEPRECATION
ACE_BUILD_DLL
NDEBUG
WIN32
_WINDOWS
_CRT_NONSTDC_NO_WARNINGS
_AMD64_
_WIN64
_CRT_SECURE_NO_WARNINGS
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_DEPRECATE
_WINSOCK_DEPRECATED_NO_WARNINGS
NO_WARN_MBCS_MFC_DEPRECATION
3.6)属性页->配置属性->链接器->常规->输出文件:修改为ACE.dll
3.7)属性页->配置属性->链接器->输入->附加依赖项:
使用ACE_Time_Value
时要加上Advapi32.lib
Advapi32.lib
iphlpapi.lib
3.8)属性页->配置属性->链接器->高级->导入库:修改为**…\lib\ACE.lib**
3.9)点击清理 -> 生成
使用步骤说明
新建一个Win32程序-> 选择DLL
4.1)右键项目->属性->配置属性->常规
配置管理器:选择Release x64
字符集:选择使用Unicode字符集
MFC的使用:选择使用标准Windows库
4.2)项目->属性->配置属性->VC++目录
包含目录:设置为ACE的根目录,绝对路径
库目录:设置为lib目录,绝对路径
4.3)属性页->配置属性->C/C+±>预处理器->预处理器定义
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_DEPRECATE
_WINSOCK_DEPRECATED_NO_WARNINGS
4.4)属性页->配置属性->链接器->输入->附加依赖项:
增加ACE.lib
Over!