admin 管理员组

文章数量: 887006

因为接手的项目中用到了ACE网络库。下午打算在windows平台上编译安装ACE,,与大家分享以备下次使用.

附上已编译好的版本(6.3.3):http://download.csdn/detail/qing666888/9507763

一、准备工作

windows系统:windows7 64位旗舰版

IDE:Visual Studio 2012 (即Version 11版本)

ACE:下载链接http://download.dre.vanderbilt.edu/,选择Latest Micro Release Kit项下的ACE.zip即可;我下载的版本为6.3.3;页面如下图所示:


下面还有一个最新的release版本如图:我下下来是6.3.0的版本。上面下载下来是6.3.3的版本


说一些这两个版本里面的不同吧:6.3.3版本里面只有VS2013  VS2015的工程项目编译文件



6.3.0的版本里面只有VS2012  VS2013的工程项目文件



1.在C:\ACE_wrappers\ace\目录下创建名字为config.h的文件,在该文件中加入#include "ace/config-win32.h"语句.

2.双击C:\ACE_wrappers\ace\ace_vc11.sln文件.

3.你可以通过在工程属性中设置你所需的配置,或是使用ace/config.h来进行调整,在这里我使用了其默认的配置,即生成Debug版的动态链接库,

4.如果需要在ACE中使用MFC库,则需要在config.h文件中加入下行语句,如果你希望产生继承于CWinThread类的线程,确保在产生线程时使用THR_USE_AFX  标志;

#define ACE_HAS_MFC 1

如果希望静态链接MFC库(默认为动态链接),则定义ACE_USES_STATIC_MFC宏即可. 然而,如果你想静态链接所有东东(包括MSVC运行时库),则你必须自己修改ACE的工程 设置了;

5.如果要编译ACE为静态库,则可以定义ACE_AS_STATIC_LIBS宏,这个宏也应该被包含在静态链接ACE库的应用程序中.你也可在config.h的#include语句前增加 #define     ACE_NO_INLINE来不使能(enable:使能,disable:不使能)inline函数以至减少静态库的大小;

6.ACE dll 和lib库的命名规则:"Library/DLL name" + (Is static library ? "s" : "") + (Is Debugging enable ? "d" : "") + {".dll"|".lib"} 举例如下:如果是Debug模式下的动态库,则命名为ACEd.dll;


ACE库学习资料:http://wwwblogs/TianFang/category/78013.html

本文标签: 步骤 ACE