opensuse x64下编译Ice源码(以编译c++为例)

简介:

官方编译文档见Ice官方编译文档


环境:

opensuse13.1 x64,kdevelop4.7.6


ICE依赖包:

Ice has dependencies on a number of third-party libraries:


依赖包安装:

zypper install mcpp mcpp-devel openssl openssl-devel expat expat-devel berkeleydb libbz2-devel


编译:

1,解压下载后的源码包:

tar xf Ice-3.5.1.tar.gz

cd Ice-3.5.1/cpp


2,编译:

make


3,测试:

./allTests.py

如果没有安装python,运行测试程序要先装python,不运行测试程序就可以不装了


4,安装:

用su命令切换到root

make install

就把相关的库和开发用到的头文件安装到Ice-3.5.1/cpp/config/Make.rules中prefix定义的位置处了


阅读demo代码:

解压后用kdevelop读也很方便,也可以调试。主要步骤:project->fetch project

在source中选中From File System,找到demo所在的文件夹; 除此之外,还要在kdevelop中设置Ice的头文件路径;运行的话,我是把安装后的相关so放到/usr/lib64下,这样,系统就能找到ice的相关动态库了。


注意事项:

如果在Ice-3.5.1/cpp/config/Make.rules中修改了:

prefix                  ?= /usr/local/Ice-$(VERSION)

在要改一下Ice-3.5.1/config/Make.common.rules中添加ICE_HOME的定义,即添加一个

ICE_HOME = /usr/local/Ice-3.5.1

ICE_HOME中的3.5.1是实际安装的版本,如果读不懂Ice-3.5.1/config/Make.common.rules,在此文件的头处添加即可。










本文转自 hakuyo 51CTO博客,原文链接:http://blog.51cto.com/hakuyo/1554970,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
自然语言处理 编译器 C语言
为什么C/C++编译腰要先完成汇编
C/C++ 编译过程中先生成汇编语言是历史、技术和实践的共同选择。历史上,汇编语言作为成熟的中间表示方式,简化了工具链;技术上,分阶段编译更高效,汇编便于调试和移植;实践中,保留汇编阶段降低了复杂度,增强了可移植性和优化能力。即使在现代编译器中,汇编仍作为重要桥梁,帮助开发者更好地理解和优化代码。
55 25
为什么C/C++编译腰要先完成汇编
|
2月前
|
编译器 C语言 C++
【c++丨STL】list模拟实现(附源码)
本文介绍了如何模拟实现C++中的`list`容器。`list`底层采用双向带头循环链表结构,相较于`vector`和`string`更为复杂。文章首先回顾了`list`的基本结构和常用接口,然后详细讲解了节点、迭代器及容器的实现过程。 最终,通过这些步骤,我们成功模拟实现了`list`容器的功能。文章最后提供了完整的代码实现,并简要总结了实现过程中的关键点。 如果你对双向链表或`list`的底层实现感兴趣,建议先掌握相关基础知识后再阅读本文,以便更好地理解内容。
49 1
|
3月前
|
自然语言处理 编译器 Linux
|
3月前
|
C语言 C++ 容器
【c++丨STL】string模拟实现(附源码)
本文详细介绍了如何模拟实现C++ STL中的`string`类,包括其构造函数、拷贝构造、赋值重载、析构函数等基本功能,以及字符串的插入、删除、查找、比较等操作。文章还展示了如何实现输入输出流操作符,使自定义的`string`类能够方便地与`cin`和`cout`配合使用。通过这些实现,读者不仅能加深对`string`类的理解,还能提升对C++编程技巧的掌握。
158 5
|
3月前
|
自然语言处理 编译器 Linux
告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐
本文中,阿里云智能集团开发工程师李泽政以 Alinux 为操作环境,讲解模块相比传统头文件有哪些优势,并通过若干个例子,学习如何组织一个 C++ 模块工程并使用模块封装第三方库或是改造现有的项目。
|
4月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
289 22
|
4月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
70 0
Linux c/c++之多文档编译
|
4月前
|
算法 编译器 C++
【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
118 2
|
4月前
|
存储 编译器 C++
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
【C++篇】揭开 C++ STL list 容器的神秘面纱:从底层设计到高效应用的全景解析(附源码)
109 2
|
6月前
|
存储 数据可视化 C++
【C++】C++-学生考试题库管理系统(源码)
本系统设计了一个选题管理流程,包括读取题目信息、随机抽取题目、保存及查询选题结果等功能。使用 `readProjects` 从文件读取题目信息,`drawProject` 随机抽取未选中的题目,`saveSelection` 保存选题结果至文件,`querySelection` 查询并显示所有选题结果。主函数提供菜单界面,支持学生信息输入、抽题及结果查询。关注【测试开发自动化】公众号,回复“题库”获取源码。
55 0