(1)將ACE-5.5.zip解壓到所需的安裝目錄,此處以D:\爲例,解壓後形成ACE_wrappers文件夾,因此ACE將會存在於ACE_wrappers\ace目錄中。
ACE_wrappers的子目錄中大致包含7個目錄:分別爲:
1 ace 包含ACE工具包的源碼
2 bin含有許多有用的實用程序
3 apps 包含許多基於ACE的應用程序,比如Gateway消息路由
4 docs 含有與ACE的各個方面的有關信息,比如它的編碼指導方針
5 examples 包含很多例子,演示怎麼使用ACE類和框架
6 tests含有ACE的迴歸測試套件
(2)在系統中新建ACE_ROOT環境變量,值設爲 D:\ACE_wrappers。具體設置爲:
我的電腦->屬性->高級->環境變量->新建
(3) 在D:\ACE_wrappers\ace目錄中創建一個頭文件,命名爲config.h,其內容爲:
#include "ace/config-win32.h"(必選項)
#define ACE_HAS_STANDARD_CPP_LIBRARY 1 (MSVC自帶的標準C++頭文件)
#define ACE_HAS_MFC 1(與MFC一起使用)
(4) 在VC++中加載ACE的工程文件(ACE_ROOT \ace\ace.dsw),在release和debug兩種編譯方式下進行編譯,得到相應的庫文件(ACE.dll、ACE.lib 和 ACEd.dll、ACEd.lib),其中ACE.dll 、ACE.lib是由release版生成的,ACEd.dll、ACEd.lib是由debug版生成的。具體操作方法:運行VC++,選擇Build ->Batch Build…,將ACE-Win32 Debug和ACE-Win32 Release全部選中,Rebuild All即可.
(5)配置ACE環境。 打開VC++6.0,選擇Tools->Options->Directories 加入以下內容:
1) Executable File:E:\ACE_wrappers\bin
2) Include File:E:\ACE_wrappers
3) Library Files:E:\ACE_wrappers\lib
4) Source Files:E:\ACE_wrappers
在編寫程序時要在Project->Settings菜單中進行如下設置:
C/C++選項卡:
Code Generation:選擇多線程版運行時庫(Multithreaded DLL)。
Preprocessor:在“Additional include directories”域中加入$ACE_ROOT。
Link選項卡:
Input:在“Object/library modules”域中包含適當的ACE庫文件,
這個地方也可以換成一條預編譯指令即:#pragma comment(lib, "ace.lib") //這個是Release版本的請注意。
在“Additional library path”域中包含ACE庫鏈接文件的路徑。這通常是ACE_ROOT/ace。
(6). 在系統環境的變量 path中加入D:\ACE_wrappers\lib,否則在運行程序的時候碰到尋找ace.dll或者aced.dll的問題。
(7.) 在windows下release時有可能報錯,錯誤如下:
error C2039: 'TryEnterCriticalSection' : is not a member of '`global
error C2065: 'TryEnterCriticalSection' : undeclared identifier
解決辦法:
工程 Project-->setting-->C/C++ 寫入:_WIN32_WINNT=0x0500
也可以在stdafx.h中寫入:
#ifndef _WIN32_WINNT
# define _WIN32_WINNT 0x500
#endif