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步骤的更多相关文章

  1. linux下编译运行驱动

    linux下编译运行驱动 嵌入式linux下设备驱动的运行和linux x86 pc下运行设备驱动是类似的,由于手头没有嵌入式linux设备,先在vmware上的linux上学习驱动开发. 按照如下方 ...

  2. DPM检测模型 VoC-release 5 linux 下编译运行

    (转载请注明作者和出处 楼燚(yì)航的blog :http://www.cnblogs.com/louyihang-loves-baiyan/ 未经允许请勿用于商业用途) DPM目前使非神经网络方法 ...

  3. 在linux下编译运行C++程序

    头一回...把windows下的程序挪到linux下,代码见这篇随笔 1.编译ZTHREAD,使用./configure失败,直接编译的,方法还是上面提到的那篇随笔 2.编译源码,最开始用的cc,后来 ...

  4. linux下编译运行C程序

    GCC是Linux操作系统下一个非常重要的源代码编译工具,有着许多重要的选项,支持许多不同语言的编译,如C.C++.Ada.Fortran.Objective.Perl.Python.Ruby以及Ja ...

  5. linux安装软件的几种方法----linux下编译安装软件的一般步骤

    linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

  6. 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序

    如何用javac 和java 编译运行整个Java工程 (转载)  http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...

  7. Linux程序在Windows下编译运行_MinGW和Cygwin

    linux要在windows下编译运行,需要win下的gcc编译器,一般有两种:MinGW和Cygwin. 但某些函数在windows没有,即使使用两种工具也编译不过,需要查询windows函数并使用 ...

  8. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  9. Linux下编译安装qemu和libvirt

    目录 [hide] 1 安装qemu 1.1 qemu介绍 1.2 下载源文件 1.3 编译安装 2 安装libvirt 2.1 libvirt介绍 2.2 下载libvirt 2.3 编译安装 3  ...

随机推荐

  1. Vue.js(2.x)之列表渲染(v-for/key)

    1.v-for是Vue里的循环语句,与其他语言的循环大同小异.首先得有需要循环且不为空的数组,循环的关键字为in或of. 需要索引时的写法: v-for里的in可以使用of代替: 还可以使用v-for ...

  2. GCC 编译错误 relocation truncated to fit: R_X86_64_32S against `.bss'

    问题如下图所示:(.text+0x53a): relocation truncated to fit: R_X86_64_32S against `.bss' 以前在Linux中编译程序,从来没有遇到 ...

  3. Android 使用greenDAO 3.2.2 操作外部数据库

    项目开发中有时需要用到一些写死的数据,如公司的产品信息之类的.这就需要我们先把数据库文件保存在资源文件夹下,然后当应用创建时将数据库文件拷到应用安装目录的/databases/文件夹下,然后再对数据进 ...

  4. sql优化经典例子

    场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 数据10 ...

  5. vue的MVVM模式和生命周期总结(一)

    一.MVVM模式 MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel ...

  6. PHP实现文件上传和下载(单文件上传、多文件上传、多个单文件上传)(面向对象、面向过程)

    今天我们来学习用PHP进行文件的上传和下载,并且用面向过程和面向对象的方式对文件上传进行一个限制 一.简单的上传测试 1.客户端:upload.php 2.后端:doAction.php 结果: 二. ...

  7. [Asp.Net] web api 部署注意事项

    在将web api项目部署到IIS上的时候 要将应用程序池设置成.net framework 4.0版本

  8. SAP云平台CloudFoundry中的用户自定义变量

    CloudFoundry应用的manifest.xml里的env区域,允许用户自定义变量,如下图5个变量所示. 使用cf push部署到CloudFoundry之后,在SAP Cloud Platfo ...

  9. a low memory warning should only destroy the layer’s bitmap

    https://stablekernel.com/view-controller-in-ios-6/ Some of you may have noticed that your view contr ...

  10. 【BZOJ1854】[SCOI2010] 游戏(匈牙利算法的应用)

    点此看题面 大致题意: 有\(n\)个物品,每个物品有两个属性且只能选择其中的一个,要求选择的物品属性值从\(1\)开始递增,问最多能选多少个. 暴搜 看到这题,我第一反应是暴搜... ... 好不容 ...