Linux查看ice版本,ICE在Linux下的安装

ICE在Linux下的安装

发布时间:2007-06-28 02:06:56来源:红联作者:skyAND

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++的人,一时还找不着北呢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值