中标麒麟6.0_ICE3.4.2编译+demo测试(CPP)

(菜鸟版)
确保 gcc版本4.4.6(其他版本未测试),4.8不行

一、降级GCC到4.4.6
注意:gcc g++ c++命令都为4.4.6(可用gcc -v; g++ -v; c++ -v 命令查询版本)

附:降级GCC-4.4.6参考:http://blog.sina.com.cn/s/blog_4e2804490100sccq.html


附:gcc下载地址:http://ftp.gnu.org/gnu/gcc/
ICE-3.4.2下载地址:https://zeroc.com/download_3_4_2.html
ThirdParty-Sources-3.4.2下载链接:http://download.zeroc.com/Ice/3.4/ThirdParty-Sources-3.4.2.tar.gz

以防万一我放在云盘一份:http://pan.baidu.com/s/1c0Ep3vq

二、安装ICE-3.4.2

请参照:http://my.oschina.net/sumiaowen/blog/161071 

在此感谢作者!

注意:后面有一步骤make的时候有错,根据报错的提示用 make -n就行

适合本机的具体步骤:

1、安装第三方包:ThirdParty-Sources-3.4.2

(1)解压安装包

# tar zxvf ThirdParty-Sources-3.4.2.tar.gz
# cd ThirdParty-Sources-3.4.2

(2)安装mcpp

# tar zxvf mcpp-2.7.2.tar.gz
# cd mcpp-2.7.2
# ./configure --prefix=/usr/local/ICE-3.4.2/mcpp-2.7.2/ CFLAGS=-fPIC -enable-mcpplib -disable-shared
# make
# make install

(3)安装Berkeley DB
Berkeley DB 是一个高性能的,嵌入数据库编程库,和C语言, C++, Java, Perl, Python, Tcl以及其他很多语言都有绑定。

# cd ..
# tar zxvf db-4.8.30.NC.tar.gz
# cd db-4.8.30.NC/build_unix/
# ../dist/configure --prefix=/usr/local/ICE-3.4.2/BerkeleyDB.4.6/ -enable-cxx
# make
# make install

(4)安装bzip2
bzip2 是 Julian Seward 开发并按照自由软件/开源软件协议发布的数据压缩算法及程序。

# cd../../
# tar zxvf bzip2-1.0.6.tar.gz
# cd bzip2-1.0.6
修改Makefile,将PREFIX指向/usr/local/ICE-3.4.2/bzip2-1.0.6
# make
# make install

(5)安装expat
expat 是一个 XML parsing C library。

# cd ..
# tar zxvf expat-2.0.1.tar.gz
# cd expat-2.0.1
# ./configure --prefix=/usr/local/ICE-3.4.2/expat-2.0.1/
# make
# make install

(6)安装openssl
openssl 是 Secure Socket Layer (SSL) binary and related cryptographic tools。

# cd ..
# tar zxvf openssl-0.9.8r.tar.gz
# cd openssl-0.9.8r
# ./config --prefix=/usr/local/ICE-3.4.2/openssl
# make
# make install

2、安装ICE-3.4.2
# tar zxvf Ice-3.4.2.tar.gz
# cd Ice-3.4.2/cpp
# vi config/Make.rules

修改安装包路径:

prefix ?= /usr/local/ICE-3.4.2/Ice-$(VERSION)	
embedded_runpath_prefix ?= /usr/local/ICE-3.4.2/Ice-$(VERSION_MAJOR).$(VERSION_MINOR)	
BZIP2_HOME ?= /usr/local/ICE-3.4.2/bzip2-1.0.6	
DB_HOME ?= /usr/local/ICE-3.4.2/BerkeleyDB.4.6	
EXPAT_HOME ?= /usr/local/ICE-3.4.2/expat-2.0.1	
OPENSSL_HOME ?= /usr/local/ICE-3.4.2/openssl	
MCPP_HOME ?= /usr/local/ICE-3.4.2/mcpp-2.7.2

# make
# make install

3、设置ICE环境变量:
# vi /etc/profile

export ICE_HOME=/usr/local/ICE-3.4.2/Ice-3.4.2
export PATH=$PATH:$ICE_HOME/bin
export LD_LIBRARY_PATH=$ICE_HOME/lib
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC ICE_HOME

使之生效:
#source /etc/profile

测试是否成功:
#icegridnode --version
#icegridadmin --version

4、加一个cpp目录下demo测试

(1)进入解压后的ICE-3.4.2目录
进入cpp/demo/Ice/hello

(2)运行
#./server

少库报错,解决:
#vim /etc/ld.so.conf

第二行加入:/usr/local/ICE-3.4.2/Ice-3.4.2/lib 保存退出
#/sbin/ldconfig -v

(3)OK!
#./server
#./client

client端向服务器端发送数据成功!

参考原文:http://my.oschina.net/sumiaowen/blog/161071 再次感谢作者!感谢。

posted @ 2015-05-20 19:10  Qt小罗  阅读(1284)  评论(0编辑  收藏  举报