今天晚上打算在windows平台上編譯安裝ACE,特記錄此過程,希望與大家共勉.
一、準備工作
windows系統:windows xp
IDE:Visual Studio Team System 2008(即Version 9版本)
ACE:下載下傳連結http://download.dre.vanderbilt.edu/,選擇Latest Micro Release Kit項下的ACE.zip即可;我下載下傳的版本為6.0.2;頁面如下圖所示:

二、解壓使用
解壓已下載下傳的壓縮包;我把它直接解壓到C槽下,即最後的主目錄結構為:C:\ACE_wrappers;
輕按兩下C:\ACE_wrappers目錄下的ACE-INSTALL.html檔案,按照提示即可一步一步的進行在windows下的編譯安裝;
三、編譯安裝一般規則
1.Many features in ACE can be modified by defining some macros in $ACE_ROOT/ace/config.h. These macros should always appear before including your platform specific config file.
ACE中的許多特性可以通過在C:\ACE_wrappers\ace\config.h中配置宏來進行修改,這些宏應該在你的特定平台配置檔案之前被包含
2.However, if you want to undefine/redefine macros defined in the platform specific config file, these #undef should come after the config file.
然後,如果你想取消/重定義在特定平台配置檔案中定義的宏,那麼這些#undef指令應該包含中配置檔案之後
3.If you're planning to build ACE on multiple platforms, you may want to consider cloning the source tree before you start.
如果你計劃在多種平台上編譯ACE,你可以需要考慮克隆源碼樹
四、具體編譯安裝
1.在C:\ACE_wrappers\ace\目錄下建立名字為config.h的檔案,在該檔案中加入#include "ace/config-win32.h"語句.
2.輕按兩下C:\ACE_wrappers\ace\ace_vc9.sln檔案,這時Visual Studio Team System 2008就打開了該解決方案.
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;
五、編譯安裝結果驗證
我隻是使用了具體編譯安裝條目中的1和2項,因為其他項都可選的,是根據具體項目進行配置的;編譯工程,結果編譯成功,在C:\ACE_wrappers\lib目錄下生成了相應的檔案,如下圖所示:
轉載: 點選打開連結