(菜鸟版)
确保 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 再次感谢作者!感谢。

中标麒麟6.0_ICE3.4.2编译+demo测试(CPP)的更多相关文章

  1. 技术分享 | ARM下中标麒麟系统ky10使用Xtrabackup-8.0.25

    欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 一.需求背景 查询Percona官方手册,Xtrabackup 8.0可以备份M ...

  2. 中标麒麟高级服务器操作系统V6

    平台: linux 类型: 虚拟机镜像 软件包: java-1.6.0 mysql-5.1.5 python-2.6 qt3-3.3.8b basic software linux neokylin ...

  3. 国产中标麒麟Linux部署dotnet core 环境并运行项目 (三) 部署运行WEB API项目

    部署dotnet Core Web API 上一步的文章,是我们公司最核心的一个ORM组件,在中标麒麟系统完成了一个插入数据的任务,这一步是将正式的从dot net framework 迁移到 dot ...

  4. 国产中标麒麟Linux部署dotnet core 环境并运行项目 (二) 部署运行控制台项目

    背景 在上一篇文章安装dotnet core,已经安装好dotnet core了.之前只是安装成功了dotnet, 输入dotnet --info,可以确认安装成功了,但是在运行代码时,还是报错了,本 ...

  5. 国产中标麒麟Linux部署dotnet core 环境并运行项目 (一) 安装dotnet core

    背景 根据我之前写的文章 将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目,我们将公司内部最核心的ORM框架迁移到net core 上面,并在win ...

  6. 基于Linux(中标麒麟)上QT的环境搭建——解决cannot find lGL的问题

    接上一篇,QT在中标麒麟环境安装完成后遇到运行报错的问题 一.问题描述: 在中标麒麟上配置好QT的环境后,新建一个工程,不做其他的任何操作,直接运行都会报cannot find lGL的错误.如图所示 ...

  7. [转帖] 龙芯 中标麒麟的 源 以及K8S

    龙芯Mips64el平台上部署K8s https://ysicing.me/posts/mips64el-loongson-k8s/ YSICING May 29 2019   kubernetes ...

  8. 虚拟机VMware,安装中标麒麟系统,64位的,版本6.0,并安装qt

    为了使用qt开发,安装中标麒麟系统. 虚拟机中安装,本来安装的是32位麒麟系统,结果发现qt无法安装(官网提供的是64位的run程序). qt安装的是qt-opensource-linux-x64-5 ...

  9. U盘安装中标麒麟服务器操作系统 一 (NeoKylin 6.5)

    U盘安装中标麒麟服务器操作系统(NeoKylin 6.5) 首先需要下载中标麒麟服务器操作系统的iso镜像.我这里的是NeoKylin Linux A 6.5.iso 因为超过了4GB,百度网盘不支持 ...

随机推荐

  1. 开启MSSQLServer跨服务器查询功能

    首先在MSSQL客户端中进行如下图文操作配置 其次使用脚本进行操作配置 ---开启SQLServer 跨服务器查询功能 exec sp_configure 'show advanced options ...

  2. static 和 extern

    外部函数:定义的函数能被本文件和其他文件访问,默认所有的情况都是外部函数,不允许有同名的外部函数 >>extern定义和声明一个外部函数(可以省略) 内部函数:定义的函数只能被本文件访问, ...

  3. (转)C#反射机制详解

    反射的定义:审查元数据并收集关於它的类型信息的能力,元数据(编辑后的基本数据单元)就是一大堆表,编译器会创建一个类定义表,一个字段定义表,一个方法定义表等,System.Reflection命名空间包 ...

  4. 一个Socket连接管理池(心跳机制)

    一个Socket连接管理池(心跳机制) http://cuisuqiang.iteye.com/blog/1489661

  5. Inno Setup打包的程序提升为管理员权限

    Inno Setup打包的程序在Win7 64位系统上安装,安装步骤最后一步若选中运行程序,会跳出一个错误提示框. 这是因为64位win7系统运行程序时需要管理员权限,而打包的文件并没有这个权限就试图 ...

  6. ecshop给虚拟商品添加出售和未出售的导出xlc

    在admin/virtral_card.php文件中找到$_REQUEST['act'] == 'card'这里是用来显示某一个虚拟商品的出售记录的列表将会发送到replenish_list.htm在 ...

  7. Robot Framework语法学习(一)

    Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...

  8. Gentoo Linux 学习笔记1

         Gentoo Linux是一个基于portage进行包管理的Linux发行版,最早版本始于2002年.其官方官网为http://www.gentoo.org 目前,Gentoo Linux已 ...

  9. wetask.cn领度任务全新试用体验

    管理一个公司或者团队,最困难的事情莫过于追踪大家的工作状况,往往是任务分配下去了,无法及时掌握进度.做绩效评估时候仅凭主观判断,无法清晰掌握团队的工作成绩和工作效率.团队日报.周报各种报表繁多,也是事 ...

  10. C++STL_max

    template<class T> T max(T a,T b) { return a>b?a:b; }