首页 > 代码库 > Linux redhat ICE环境安装

Linux redhat ICE环境安装

1.安装64位redhat6.4操作系统(客户机为64位)为软件开发工作站模式。

2.卸载yum源,重新安装为免费的CentOS6.4 yum源(yum能解决软件安装中的包依赖问题,redhat 未注册用户不能使用yum安装软件):

# mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/*.repo.bak
# 删除原有的yum包
# rpm -qa | grep yum|xargs rpm -e --nodeps

# 下载CentOS的yum安装包
技术分享

# 安装yum包

# rpm -ivh python-urlgrabber-3.9.1-11.el6.noarch.rpm
# rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm
# rpm -ivh yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
# rpm -ivh  yum-3.2.29-73.el6.centos.noarch.rpm  yum-plugin-fastestmirror-1.1.30-37.el6.noarch.rpm

# 添加163的yum源
# cd /etc/yum.repos.d
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
# sed -i ‘s/\$releasever/6/g‘ CentOS6-Base-163.repo

# 清理yum缓存
# yum clean all

# 将服务器上的软件包信息缓存到本地,以提高速度
# yum makecache

3.安装ICE环境:

下载rpm安装包安装ICE环境:不要使用源码安装(太麻烦并且容易出错)。

解压安装包Ice-3.4.2-rhel6-x86_64-rpm.tar.gz(可到官网下载)得到文件:

 技术分享

必须安装的软件和软件安装顺序(用yum安装自动解决包依赖问题,安装指令:# yum+空格+install +rpm包名):

db48-4.8.30-1ice.rhel6.x86_64.rpm

db48-utils-4.8.30-1ice.rhel6.x86_64.rpm

ice-3.4.2-1.rhel6.noarch.rpm

ice-libs-3.4.2-1.rhel6.x86_64.rpm

ice-c++-devel-3.4.2-1.rhel6.x86_64.rpm

ice-utils-3.4.2-1.rhel6.x86_64.rpm

ice-servers-3.4.2-1.rhel6.x86_64.rpm

ice-sqldb-3.4.2-1.rhel6.x86_64.rpm

4.设置ICE_HOME环境变量(参考ICE手册和百度)。

5.(可选)安装eclipseIDE和ICE插件:用于编写代码时检查代码错误(IDE编译容易出各种问题,建议使用命令行)。

6.Makefile写法参考百度,常用指令:

 

生成.o目标文件:

# c++ -I. -I$ICE_HOME/include -c -fPIC North.cpp InterfaceImpl.cpp IniFile.cpp Tools.cpp transformEncode.cpp

生成OutputStatus.so 共享库文件:

# c++ -I. -I$ICE_HOME/include -shared -o OutputStatus.so North.o InterfaceImpl.o IniFile.o Tools.o transformEncode.o

生成测试demo可执行文件:

# c++ -I. -I$ICE_HOME/include -o demo.out StatusInfo.cpp InterfaceImpl.cpp IniFile.cpp Tools.cpp transformEncode.cpp CallApiDemo.cpp -lIce –lIceUtil

 Makefile生成测试demo参考:

NorthDemo.out : CallApiDemo.o InterfaceImpl.o Tools.o North.o  IniFile.o transformEncode.o

         g++ -o NorthDemo.out -I. -I$ICE_HOME/include CallApiDemo.o InterfaceImpl.o Tools.o North.o IniFile.o transformEncode.o -lIce -lIceUtil

CallApiDemo.o : CallApiDemo.cpp 

         c++ -c CallApiDemo.cpp 

Tools.o : Tools.cpp Tools.h IniFile.h transformEncode.h

         c++ -c Tools.cpp Tools.h

IniFile.o : IniFile.cpp IniFile.h

         c++ -c IniFile.cpp IniFile.h

transformEncode.o : transformEncode.cpp transformEncode.h

         c++ -c transformEncode.cpp transformEncode.h

InterfaceImpl.o : InterfaceImpl.cpp InterfaceImpl.h North.h Tools.h

         c++ -c InterfaceImpl.cpp InterfaceImpl.h Tools.h

North.o : North.cpp North.h

         c++ -c North.cpp North.h

.PHONY : clean

clean :

         rm -f $(fileO) NorthDemo.out CallApiDemo.o InterfaceImpl.o North.o Tools.o IniFile.o transformEncode.o OutputStatus.so

output:

         c++ -I. -I$ICE_HOME/include -shared -o OutputStatus.so North.o InterfaceImpl.o Tools.o IniFile.o transformEncode.o

obj:

         g++ -o NorthDemo.out -I. -I$ICE_HOME/include CallApiDemo.o -L. OutputStatus.so -lIce –lIceUtil

启动demo 的shell脚本参考:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

./NorthDemo.out

Linux redhat ICE环境安装