ICE專題:ICE在Linux下的安裝

來源:互聯網
上載者:User

 

Ice的安裝

從年初的一期《程式員》雜誌上瞭解到ICE以後,因為其對比於 CORBA具有簡單、高效、易用的特點,所以一直都有留意。之前也有一段時間下載了Ice 1.x版本和相應的文檔來研究,但因工作忙,中斷了一段時間。

Ice的首頁: http://www.zeroc.com

這幾天工作稍微輕鬆點,有點時間,就繼續研究Ice 2.1.1版本。在學習的過程中,免不了要安裝的。這篇文章就是想說說安裝的問題。

其實Ice-2.1.1安裝算是蠻簡單的。因為像比較新的Linux作業系統上,Ice所需的輔助軟體包都已經有了,如果你裝的系統確實沒有這些軟體,可以在Ice的下載頁面上下載到第三方的軟體包,然後安裝,安裝這些都不難,主要是要看軟體相應的readme和install類型的文檔。

我在Fedora 3上安裝,上面帶了expat, openssl, db4.2, bzip2,所以基本不用裝第三方的軟體。唯一一個問題是:Fedora 3上的db4.2沒有安裝db的C++開發庫,所以需要重新編譯安裝db。

===========  STEP 1:安裝db  =============================

安裝db的文檔在db包的docs裡面有html格式的說明文檔,很簡單。解開db的tar/zip包後:
$cd db-ver
$cd build_unix
$../dist/configure --prefix=/usr --enable-cxx
$make
$su
#make install

==========  STEP 2:安裝Ice 2.1.1包  ====================

解開Ice-2.1.1.tar.gz包後
$cd Ice-2.1.1
$vi config/Make.rules   #修改prefix為/usr
$make
$su
#make install

這樣Ice就安裝好了。

==========  STEP 3:安裝IcePy ============================

因為自己想結合之前學習python,剛好ice也支援python語言,所以決定安裝IcePy包,如果你只用C++開發的話,IcePy可以不裝。解開IcePy.xx.tar.gz後
$cd IcePy-2.1.1
$vi config/Make.rules
增加一行在檔案的最前面:
ICE_HOME=/usr
修改prefix=/usr
然後用root許可權
#ln -s /usr/lib/python2.4 /usr/python  #不同版本的python,/usr/lib/pythonx.x目錄有點不同
$make
$su
#make install
#ln -s /usr/lib/IcePy.so /usr/lib/python2.4/IcePy.so
至於用兩個ln建立兩個串連主要是省去運行Ice python程式的時候,設定環境變數的麻煩。因為Ice Python的檔案都安裝到了python的預設目錄下了,這樣會方便很多。

附一個C++編譯的問題:
由於我按照書上的例子來學習Ice,所以檔案伺服器的伺服器端那章裡面的NodeI類定義如下:
        class NodeI: virtual public Node {
        public:
                virtual std::string name(const Ice::Current &) const;
                NodeI(const std::string &, const DirectoryIPtr &parent);
                static Ice::ObjectAdapterPtr _adapter;
        private:
                const std::string _name;
                DirectoryIPtr _parent;
                NodeI(const NodeI &);
                void operator=(const NodeI &);
        };
裡面有static的類成員_adapter,由於久未用C++,不記得要在.cpp實現檔案裡加:
Ice::ObjectAdapterPtr Filesystem::NodeI::_adapter;
定義,所以g++串連老報沒有定義_adapter的錯誤,鬱悶了一段時間才記起來。而書上的例子並沒有提到定義這個東西,如果你是C++新手或像我這樣久未用C++的人,一時還找不著北呢。

轉載自:http://gigaboy.bokee.com

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.