0、简介

ZeroC ICE 是指ZeroC公司(www.zeroc.com)的ICE(Internet Communications Engine)中间件平台。

目前ICE平台中包括IceIce-EIce Touch
Ice为主流平台设计,包括Windows和Linux,支持广泛的语言,包括C++,Java,C#(和其他.Net的语言,例如Visual Basic),Python,Ruby,PHP和ActionScript。也包括所有的ICE服务,例如Ice Grid,IceStorm等。
Ice-E是Ice在资源受限的平台上的一个实现,支持C++和嵌入式操作系统,例如Windows CE,Linux。Ice-E本身不包含任何服务,但是可以利用在Ice上提供的各种服务。因此,通过Ice-E,移动设备也能无缝的集成到分布式系统中。
Ice Touch是为iphone和ipod touch开发的版本,包括Object-C映射,支持Iphone OS,并为MAC OS X开发图形界面应用程序提供完整的Cocoa框架的访问。

本文由乌合之众瞎写,如有错漏之处,敬请指正。http://www.cnblogs.com/oloroso/

1、下载源码

git clone https://github.com/zeroc-ice/ice.git

2、编译和安装

先安装依赖项libmcppopenssllmdb等。

sudo dnf install libmcpp-devel    openssl-devel lmdb-devel # defora下安装
sudo apt install libmcpp-dev libssl-dev # debian系下安装

编译并安装

make -j4    # 编译(时间比较久,可以把Makefile中对test的编译注释掉)
make prefix=/opt/zero-c-ice install

上面命令会编译所有支持语言的版本,如果不需要那么多,可以通过修改config/Make.rules来改变支持的语言。
打开config/Make.rules文件,跳到最后,修改supported-languages的值。
例如:

supported-languages ?= cpp python

或者在编译的时候直接指定语言。

make supported-languages='cpp python java js'
make supported-languages='cpp python java js' prefix=/opt/zero-c-ice install

如果需要支持java语言,在编译的时候会去下载gradle工具,所以需要确保能够正常访问https://gradle.org/
如果需要支持python语言,需要安装python开发包(sudo dnf install python-devel)。
如果需要支持javascript语言,需要安装npm的(sudo dnf install npm),此处会安装libuv/nodejs等。这里也需要能够正常连接到外网。
如果需要支持ruby语言,需要安装ruby开发包(sudo dnf install ruby-devel)。
如果需要支持php语言,需要安装php开发包(sudo dnf install ruby-php)。

3、测试

这里可以编写一个小的slice脚步测试一下。
test.ice

/*定义模块test*/
module test{/*定义自定义结构类型person*/struct person{/*字符串类型量 name*/string    name;    // 名字/*整型量 age*/int        age;    // 年龄/*浮点数 weight*/float    weight;    // 体重};/*定义一个接口,打印person信息*/interface print{/*定义打印person的方法*/void printperson(person p);};
};

使用slice2cpp来生成C++代码。

slice2cpp test.ice

slice2cpp工具怎么用,可以使用slice2cpp --help来查看。

4、补充 windows下编译ice

windows下编译比较简单。直接打开源码目录下的cpp\msbuild,找到对应版本的VS解决方案文件(例如我是使用的VS2015,则是ice.v140.sln),直接使用Visual Studio打开。然后直接编译即可。
编译的时候需要下载对应的nuget包,所以可能需要联网才行。
编译完成之后将在cpp\libcpp\bin目录下生成对应的库和可执行文件。

转载于:https://www.cnblogs.com/oloroso/p/6473334.html

linux下编译Zero C ICE相关推荐

  1. linux 保存编译log,(转)Linux下编译安装log4cxx

    一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...

  2. linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

    一.linux下编译make文件报错"/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/415 ...

  3. 一份简单的在 Linux下编译及调试 C 代码的指南

    摘要: 一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无 ...

  4. linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt

    [2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...

  5. linux emule 编译 wx-config --libs,linux下编译wxwidgets所写程序所遇到的问题

    记录linux下编译wxwidgets所遇到的问题 1./home/hrd/baohualib/wxWidgets-3.0.2/include/wx/platform.h:184:22: 致命错误: ...

  6. linux下编译wpa_supplicantnbsp;…

    linux下编译wpa_supplicant 收藏 前一段时间只在vs2005下编译成功过.经过近一段时间的琢磨,今天终于在linux下成功编译了wpa_supplicant. 挺简单的事情折腾了这么 ...

  7. java libpcap,Linux下编译安装libpcap

    要做Sniffer了,先在Linux下编译一下libpcap 1.编译安装flex #libpcap 1.1要求flex必须在2.4.6及以上 wget http://prdownloads.sour ...

  8. linux redis php,Linux下编译redis和phpredis的方法

    这篇文章主要介绍了Linux下编译redis和phpredis的方法,分析了redis的下载,编译,安装及遇到的问题与相应的解决方法,需要的朋友可以参考下 本文讲述了Linux下编译redis和php ...

  9. linux下编译libuv,linux下libuv库安装教程

    下载并编译libuv libuv需要自己手动下载源码,并手动编译. 当前目录为:/home/xlz/test/github/,在后面,会用$PATH来代替,我的系统的Debian8,64bit. $g ...

最新文章

  1. Visual C#弹出窗口杀手
  2. RDS用户如何优化报警规则
  3. vfp语言第 代计算机语言,VFP语言属于第()代计算机语言。A、一B、二C、三D、四...
  4. 100个程序员学习的网站
  5. arcgis几何修复有作用吗_ArcGis拓扑的那些事儿(拓扑应用过程二)
  6. sql2005中一个xml聚合的例子
  7. 解锁lintcode-猫和狗的问题
  8. 看着夜晚城市的广告都是用CorelDRAW发光字体效果很感叹
  9. js使用canvas画布画太极图案
  10. vue 批量下载图片并打包成zip包
  11. python 安装第三方包-安装失败(pycharm/ anaconda navigator)
  12. Qt5.3.1环境变量配置-----gyy
  13. BERT |(3)BERT模型的使用--pytorch的代码解释
  14. 干货精讲!java分布式事务框架
  15. 【转载】Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?
  16. 360安全卫士去广告、去多余按钮、与金山网盾等软件共存方法组合
  17. python opencv 轮廓检测_opencv之轮廓检测与处理
  18. tp5框架配置多个Cache
  19. 安装Java时出现错误2203_win7 office在安装过程中出错 错误2203(解决)
  20. Flexe2.0 学习笔记一(利用PopUpManager来显示一个简单窗体)

热门文章

  1. Android 蓝牙开发——自动重连机制(十八)
  2. 7-1 房屋分拆 (25 分)(C语言版)
  3. [HNOI2008]玩具装箱(1D/1D动态规划)
  4. 关于电销团队负责人如何挑选外呼系统?
  5. 电脑蓝牙已关闭,蓝牙开关不见的故障排除
  6. 切换shift和CTRL键位
  7. mysql公司简介_MySQL简介
  8. firefox网页慢加载图片慢或加载不出来
  9. C#上位机开发—— 修改窗口图标和exe文件图标
  10. oracle sy imp,oracle逻辑备份imp/exp 示例用法【转】