linux下编译运行TIGL Viewer步骤
linux下编译运行TIGL Viewer步骤(仅为了正确编译安装的话直接跳到步骤3)
1. linux发行版选择:
由于linux发行版众多,不同版本包含的库版本可能存在差别,因此需要选择正确的版本。由于在openCascade推荐使用的发行版列表中,对Ubuntu比较熟悉,所以选用ubuntu。(其他发行版的包安装方式与ubuntu有较大差别,不熟悉的话会比较麻烦)
2. ubuntu版本选择:
虽然openCascade推荐使用ubuntu13.04版本,但因为13.04非长期支持版,所以使用apt-get install 已经无法安装需要的软件包了,而手动下载并安装包的方式是非常低效和痛苦的:需要软件包A,下载A,安装A,提示需要另一个软件包B;于是下载B,安装B,但又提示需要另一个软件包C;于是下载C,......。于是我选择了使用长期支持版12.04,并使用apt-get install 安装需要的包:
sudo apt-get update
sudo apt-get install cmake libtixi-dev qt4-dev-tools liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev liboce-ocaf-lite-dev liboce-visualization-dev
安装过程很顺利,但在CMake-GUI的configure阶段,会提示QT版本太旧,这是因为12.04软件源中的qt包太旧导致的,要解决这个问题只有手动下载最新版QT Library并编译(编译过程耗时3小时)。搞定QT后,Cmake可以generate正确的makefile。但在使用make编译TIGL过程中会提示一个类似"unsolved reference to ..."的链接错误,理论上应该可以修复这个问题,但简单的试了一下,没能解决,并且考虑到后续可能还有类似错误,所以放弃12.04,还是考虑使用13.04.
猜测14.04应该没有这些问题,但没有尝试。
3. ubuntu13.04下TIGLViewer的编译运行
3.1 在源列表中增加TIGL相关的仓库地址:
在 /etc/apt/source.list中的最后增加如下一行: deb http://download.opensuse.org/repositories/home:martinsiggel/xUbuntu_13.04/ /
3.2 修改13.04软件源:
将source.list里面原有的 http地址替换为 http://old-releases.ubuntu.com/ubuntu
切记保留源地址前面的 deb/deb-src 还有后面的 raring main restricted (multiverse)等,只是单纯的替换掉 http 链接,其余部分不要动。
3.3 更新软件源:
sudo apt-get update
sudo apt-get upgrade
3.3 下载安装需要的软件包:
sudo apt-get install cmake libtixi-dev qt4-dev-tools liboce-foundation-dev liboce-modeling-dev liboce-ocaf-dev liboce-ocaf-lite-dev liboce-visualization-dev
3.4 下载CMake-gui并使用cmake构建相应的makefiles
下载安装:sudo CMake-gui
构建:打开CMake-gui,选择source dirctory和target dirctory,无需进行任何path的设置(包括CVSRoot),点击configure和generate,生成对应的makefiles(在Cmake配置选项中可以选择Unix Makefiles和Eclipse CDT Makefiles两种方式,都可以)。
3.5 使用makefiles编译构建源代码并执行构建后的可执行程序:
如果使用Unix Makefiles方式:
编译构建:切换到CMake-gui中配置的target dirctory,console下执行sudo make
执行:切换到bin目录,console下执行sudo ./TIGLViewer
如果使用Eclipse CDT Makefiels方式:
编译构建:首先安装eclipse-cdt: sudo apt-get install eclipse-cdt;然后把CMake-gui中配置的target dirctory import到eclipse中;最后在eclipse-cdt中build已导入的工程
执行:在eclipse-cdt中run已构建的工程。
linux下编译运行TIGL Viewer步骤的更多相关文章
- linux下编译运行驱动
linux下编译运行驱动 嵌入式linux下设备驱动的运行和linux x86 pc下运行设备驱动是类似的,由于手头没有嵌入式linux设备,先在vmware上的linux上学习驱动开发. 按照如下方 ...
- DPM检测模型 VoC-release 5 linux 下编译运行
(转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) DPM目前使非神经网络方法 ...
- 在linux下编译运行C++程序
头一回...把windows下的程序挪到linux下,代码见这篇随笔 1.编译ZTHREAD,使用./configure失败,直接编译的,方法还是上面提到的那篇随笔 2.编译源码,最开始用的cc,后来 ...
- linux下编译运行C程序
GCC是Linux操作系统下一个非常重要的源代码编译工具,有着许多重要的选项,支持许多不同语言的编译,如C.C++.Ada.Fortran.Objective.Perl.Python.Ruby以及Ja ...
- linux安装软件的几种方法----linux下编译安装软件的一般步骤
linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...
- 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
如何用javac 和java 编译运行整个Java工程 (转载) http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...
- Linux程序在Windows下编译运行_MinGW和Cygwin
linux要在windows下编译运行,需要win下的gcc编译器,一般有两种:MinGW和Cygwin. 但某些函数在windows没有,即使使用两种工具也编译不过,需要查询windows函数并使用 ...
- linux下编译qt5.6.0静态库——configure配置
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- Linux下编译安装qemu和libvirt
目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3 ...
随机推荐
- 解决移动端浏览器页面 X轴横向滚动条问题
写web端页面的时候,总是会出现横向滚动条,即 X 轴滚动条,导致页面左右滑来滑去. 即使设置了 body,html {overflow-x:hidden;width:100%;} 也无法生效. 解决 ...
- 转:WPF中ListBox的创建和多种绑定用法
先从最容易的开始演示ListBox控件的创建. Adding ListBox Items下面的代码是向ListBox控件中添加多项ListBoxItem集合.XAML代码如下:<ListBox ...
- 服网LNMP集群 w/ MySQL PaaS-1.0
平台: arm 类型: ARM 模板 软件包: haproxy linux mysql nginx application server arm basic software fuwang infra ...
- Qt的各种使用技巧
一.基本界面介绍 二.查看帮助的方法 ① 如上图所示,点击右侧帮助菜单查看帮助 ② 双击想要查看的代码,点F1,也会弹出帮助栏 三.修改文本编辑器颜色 长时间使用白底黑字的编辑器经常会使眼睛不舒服,以 ...
- 上传高德地图-express框架
1.首先要注册高德地图,完后成为开发者 2.控制台里获取自己的key值 3.在要显示地图的页面添加如下的代码 <script type="text/javascript" s ...
- 本人常用的Phpstorm快捷键
我设置的是eclipse的按键风格(按键习惯),不是phpstorm的风格 1.添加TODO(这个不是快捷键)://TODO 后面是说明,换行写实现代码 2.选择相同单词做一次性修改:Alt+J+鼠标 ...
- ASP.NET中登陆验证码的生成和输入验证码的验证
一:验证码的生成实现代码 protected void Page_Load(object sender, EventArgs e) { string validateCode = ...
- WCF使用地址去调用服务端的方法
前面的章节已经讲过了WCF的代码和SVC页面的分离,这里是分离后,客户端调用代码如下: try { var myBinding = new BasicHttpBinding(); var myEndp ...
- hdu-1317 XYZZY---Floyd判连通+bellman最短路
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1317 题目大意: 题意:有n个房间(n<=100),每个房间有一个点权(第1号房间和第n号房间 ...
- 问题 M: 克隆玩具
题目描述 你只有一个A类型玩具,现在有个有两种功能的机器:1. 加工一个A类型的玩具能够再得到一个A类型的玩具和一个B类型的玩具.2. 加工一个B类型的玩具,能得到两个B类型的玩具. 问经过多次加工之 ...