編譯ICE

            編譯ICE

Ice.3.2.1的編譯爲例作簡單步驟介紹。Linux較爲簡單,Window上略麻煩,詳見源碼包中的編譯說明。
目前
Ice只支持動態庫方式,不能編譯成靜態庫。

 

一.win32平臺

1. Ice源碼安裝或解壓到指定目錄
這裏假定爲
D:/Ice-3.2.1,ICE_HOME=D:/Ice-3.2.1。

 

ICEWin32下編譯不使用工程文件,採用命令行方式。$(ICE_HOME)/Makefile.maknmake使用的編譯入口文件,$(ICE_HOME)/config/Make.rules.mak是編譯選項設置文件,被$(ICE_HOME)/Makefile.make引用。

 


2.選項設定
1) 設定編譯模塊
Makefile.mak中的SUBDIRS宏決定編譯的所有模塊,默認值如下:
SUBDIRS = config src include test demo slice doc
如果不需要編譯其中的模塊,可在宏中將其對應值去除

 


2)設定源碼路徑
$(ICE_HOME)/config/Make.rules.mak文件中的宏prefix指定源碼路徑,默認值
prefix = C:/Ice-$(VERSION)
修改爲
prefix = D:/Ice-$(VERSION)


3)設定編譯器
$(ICE_HOME)/config/Make.rules.mak文件中的CPP_COMPILER宏指定編譯器。
根據本機編譯環境指定對應編譯器,可選的有
VC60, VC71, VC80, VC80_EXPRESS, BCC2006等。
這裏使用
VS.NET2005
CPP_COMPILER = VC80


3)設定第三方源碼目錄
所需的第三方源碼包有

- STLport 4.6.2 or later (only for Visual C++ 6.0)
- Berkeley DB 4.5.20
- expat 2.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0

 

$(ICE_HOME)/config/Make.rules.mak文件中的THIRDPARTY_HOME宏指定第三方安裝目錄,其默認值爲:
THIRDPARTY_HOME = C:/Ice-$(VERSION)-ThirdParty-$(TPH_EXT)
實際上等價於
THIRDPARTY_HOME = C:/Ice-$(VERSION)-ThirdParty-$( CPP_COMPILER)
如果使用VC80,則默認安裝目錄爲 D:/Ice-3.2.1-ThirdParty-VC80

 

可將THIRDPARTY_HOME指定爲本機的第三方目錄,但要注意所有的第三方包都要置於同一目錄下(STLPort除外)


3. 第三方庫安裝
將對應的第三方包解壓到$(THIRDPARTY_HOME)
要注意所有的第三方包都要置於同一目錄下(STLPort除外)


4. 編譯
VS.2005的命令行下,進入ICE_HOME目錄,執行nmake /f Makefile.mak
編譯完成的庫在$(ICE_HOME)/lib
編譯完成的工具在
$(ICE_HOME)/bin

 

清理使用:
nmake /f Makefile.mak clean


二.Xinux平臺

Linux平臺下的編譯要容易許多,而且ICE使用的第三方庫多半都已經預安裝。
其對應使用的
Makefile文件是:
$(ICE_HOME)/Makefile$(ICE_HOME)/config/Make.rules,作用和Win32平臺類似。


要編譯模塊可能需要自定義外,均可使用默認配置
直接在安裝目錄下執行
make即可。
編譯完成的庫在
$(ICE_HOME)/lib
編譯完成的工具在
$(ICE_HOME)/bin注意用make install進行安裝。

 

三.附錄:

所需第三方庫:
- STLport 4.6.2 or later (only for Visual C++ 6.0)
- Berkeley DB 4.5.20
- expat 2.0
- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended)
- bzip2 1.0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章