原帖地址: http://www.shnenglu.com/tx7do/archive/2007/10/11/33950.html
ACE 的安裝
from:http://hi.baidu.com/erdosfish/blog/item/27b06c22bb93caa54723e8e6.html
ACE的安裝是一件比較麻煩的事情,這里簡單的記錄了我在VS2005下安裝ACE的過程,希望能給大家一個參考。
安裝環境:
-
- 操作系統:Windows XP 專業版
- 編譯環境:VS2005中文版
- ACE版本:ACE-5.5.1
-
安裝過程:
-
下載安裝包。
- Ace的安裝文件可以在http://download.dre.vanderbilt.edu/中下載到,由于我是在windows環境下安裝并且不需要TAO等其它庫,便下載了ACE-5.5.1.zip。
- 下載完成后將其解壓。我的解壓路徑為D:\Develop\ACE_wrappers。
-
設置環境變量
- 在操作系統添加一個名為ACE_ROOT的用戶環境變量,值為剛才ace的解壓路徑D:\Develop\ACE_wrappers。
- 添加用戶的Path環境變量,值為%ACE_ROOT%\lib,這樣才能保證系統能找到ace生成的動態連接庫。
- 設置VS2005的C++開發項目信息,依次打開菜單 工具-選項-項目和解決方案-VC++目錄 ,在右側目錄列表中選擇"包含目錄",添加$(ACE_ROOT),在右側目錄列表中選擇"庫文件",添加$(ACE_ROOT)\lib。
-
編譯ACE
- 在ACE_ROOT\ace目錄創建一個名為 config.h的文件。編輯文件并加入以下內容
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"
其中第一行是因為我想用標準C++跨平臺,第二行則是必須要的,表明當前是在win32的環境下進行ace的項目。
- 進入ACE_ROOT\ace目錄中,能發現ACE現在已經帶VS2005的編譯項目了,直接打開ace_vc8.sln,直接生成ACE項目的Debug版和Release版,編譯過程還比較快,大概就幾分鐘的樣子。編譯鏈接完成后,在ACE_ROOT\lib中一共生成了四個文件,分別是"ACE.dll","ACE.lib", "ACEd.dll","ACEd.lib",其中帶"d"表示的是Debug版本。
-
檢驗 ACE
- 打開VS2005,建立一個空項目,將ACE程序員手冊中的第一個程序拷入其中。
- 配置屬性->鏈接器->常規->附加依賴項,添入ACEd.lib。
- 編譯,如果不出意外的話就能看到你的ace版的" hello world"啦。
注意:
ACE項目的字符集設置是"未設置",而VS2005的c++項目默認字符集是"使用 Unicode 字符集",如果用到了ACE鏈接庫時需要將字符集改為"未設置"(在"項目屬性->配置屬性->項目默認值->字符集"中配置),否則可能出現鏈接錯誤。
至此,ACE的安裝工作便算完成,希望這篇文章對大家安裝ACE有點幫助。
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
支持unicode的ACE編譯。
編譯前在config.h中多添加如下兩行,并且將項目默認字符集改為"使用 Unicode 字符集"。
#define ACE_USE_WCHAR
#define ACE_HAS_WCHAR
注意:
在windows平臺下,如果沒有定義如上兩個宏, ACE會自動將 main 函數重定義, 并主動替你把 ACE::init() 和 ACE::fini() 調用好。添加這兩個宏后,需要在main函數中手動調用。
main
函數重定義這一行為不能保證在所有平臺和環境下都正常運作(如使用MFC時),其實不管如何,不妨在 main 函數的開頭和結尾分別再調用一次
ACE::init() 和 ACE::fini()。 ACE::init() 和 ACE::fini()
里面都有嵌套層次計數機制,因此只要它們能夠保證成對出現, 并且不出現交叉嵌套, 多調用一遍并不會出現任何問題
posted on 2007-10-24 09:48
七星重劍 閱讀(2023)
評論(6) 編輯 收藏 引用 所屬分類:
C++ lib -- ACE