1. 将ACE分发包界压缩到一个目录中,这将在那个目录中生成一个包含ACE的目录ACE_wrappers。接下来的步骤中假设ACE分发包被解压缩到ACE_ROOT=C:\\ACE_wrappers中,因此ACE将会存在于ACE_ROOT\\ace目录中。 2. 在ACE_ROOT\\ace目录中创建一个文件,命名为config.h,其内容为: #include "ace/config-win32.h" 3. 在VC++中加载ACE的工程文件(ACE_ROOT\\ace\\ace.dsw) 4. 每个工程都会包含多个配置,这些配置是Debug/Release, MFC/Non-MFCh和Static/Dynamic库版本等选项的混合。确定你所需要的构造(例如,调试代码需要ACE的调试版本)。所有这些不同的配置可以为你提供一些便利,你可以或者采用不同的模式以构造不同配置的应用,或者通过改变ace\\config.h来改变在NT上的不同配置。注意:如果你使用动态连接,请保证ACE_ROOT\\bin被添加到你的path环境变量中,否则你将在运行程序的时候碰到寻找ace.dll或者aced.dll的问题。 5. 如果你在Windows NT或者Windows 2k上构建ACE,你可以马上开始构造她而不需任何改变,如果你在Windows 9x/me上构建,那么你必须在 ACE_ROOT\\ace\\config.h.的#include块之前添加一行: #define ACE_HAS_WINNT4 0 这将在ACE中移掉一些WinNT/Win2K中特有的代码。 6. 如果你希望使用MSVC自带的标准C++头文件(C++ Standard Draft 2种定义的iostream,cstdio…..),则应该在 ACE_ROOT\\ace\\config.h.的#include块之前添加一行: #define ACE_HAS_STANDARD_CPP_LIBRARY 1 7. 如果需要和MFC一起使用,增加如下定义到你的config.h文件中,注意,如果你想使用spawn一个新的线程,则必须保证使用THR_USE_AFX标志来spawn线程。 #define ACE_HAS_MFC 1 ?? 注:我使用该宏编译ACE时不能通过,有知道的朋友请赐教。 8. 如果要构建ACE的静态版本,则需要在config.h中定义ACE_AS_STATIC_LIBS,此宏在那些希望使用ACE的静态版本的应用工程中也必须定义。作为一个可选项,你可以在 #include statement in ACE_ROOT\\ace\\config.h.之前添加一行: #define ACE_NO_INLINE 来取消函数内联从而减小静态库(和你的运行码)的大小。 9. ACE DLL和LIB库的命名规则:我们使用如下的规则明明使用MSVC的ACE的DLL和LIB文件。 "Library/DLL name" + (是静态库吗 ? "s" : "") + (包含调试信息 ? "d" : "") + {".dll"|".lib"} 在MSVC环境中使用ACE的更多信息可以在这里找到。将ACE与VC6集成在一起一.打开 Tools>Options>Directories 加入以下内容: |