OpenCASCADE软件包

当你熟悉OpenCASCADE软件在Windows,你应该试试在Debian的Linux操作系统,因为这是一个开源的样OpenCASCADE软件。论文的重点是如何建立OpenCASCADE软件包。

OpenCASCADE软件、Linux、Debian、建筑

1. Introduction

因为OpenCASCADE是用C++写的几何造型算法库,有良好的跨平台性,所以决定在Linux上来编译试试看。由OpenCASCADE的文档可知,在Linux上OCC选择了Debian作为常规测试的系统,所以也安装了一个Debian 64bit的系统。

Figure 1.1 Debian 64bit is a platform used for regular testing of contributions

DebianGNU/Linux是由一个叫IanMurdock的牛人在1993年发起的,他的名字以Ian开头,他太太的名字Debra开头三个字母是Deb,于是在爱情的力量下,他发起了DebianGNU/Linux组织。Debian的正式发音为/?d?.bi.?n/,对应的中文发音可以是待宾。

使用了Debian后,感觉到开源的库真是多啊!选择Debian你将不会感到孤单,有相当广泛的机构及个人都在使用Debian。Debian拥有惊人数量的软件包,每一样都是自由的。且安装与更新都很方便,只需要使用命令:apt-get update和apt-get install 等就可以自动更新及安装软件。

Figure 1.2 debian the universal operating system

安装Debian系统的电脑是几年前的一台笔记本,配置有些老了。打开Debian的System Monitor可以查看Debian的系统信息,如下图所示:

Figure 1.3 Debian System Info

2.Preliminary

安装好了Debian,下载了OpenCASCADE的源码后,要编译OpenCASCADE还需要做些准备工作:

v 配置C++编程环境:apt-get install build-essential

v 配置C++编译环境:apt-get install automake autoconf

v 配置OpenGL库:apt-get install freeglut3-dev

刚开始安装AutoTools还遇到问题,最后查出是源的问题,把源改成Debian默认的USA源后,即可以自动安装AutoTools了。原来用的163的镜像上不能安装AutoTools。

编译OpenCASCADE需要用到OpenGL的库,编译之前的configure会检查是否正确设置GL库。如果没有正确安装OpenGL库,有几个模块是不能正确编译的。先要安装好显卡的驱动程序,再安装freeglut库即可解决问题。

3.Building 3rd-party libraries

OpenCASCADE的第三方库分成两类:

v 必须的库:Tcl/Tk 8.5-8.6, FreeType-2.4.10-2.4.11;

v 可选的库:TBB 3.x-4.x, gl2ps 1.3.5-1.3.8, FreeImage 3.14.1-3.15.4;

所有这些第三方库都可以从Debian的官方源中下载安装,只需要执行如下命令即可:

sudo apt-get install \

tcllib tklib tcl-dev tk-dev \

libfreetype-dev \

libxt-dev libxmu-dev \

libgl1-mesa-dev \

libfreeimage-dev \

libtbb-dev \

libgl2ps-dev

如果有些库找不到,可以尝试下换个源。原来设置的163的源有些库就找不到,更换成USA或其他国家的源就可以了,速度也还不错。

当然这些库也可以自己编译,推荐自己编译下,熟悉下Automake工具的使用。

4.Building OpenCASCADE with Automake

完成上述准备工作后,就可以编译OpenCASCADE了。编译步骤如下所示:

v 运行在OCCT目录中的build_configure脚本来生成与系统相适应的Makefile.in和configure;

v 运行在OCCT目录中的configure来生成makefiles;命令如下:

$CASROOT/configure<FLAGS>

其中<FLAGS>是一些编译选项,用来配置第三方库与Draw等,配置参数如下所示:

Figure 4.1 Configure options for OpenCASCADE

示例configure命令如下:

Figure 4.2 configure example

Figure 4.3 configure successed status without optional 3rdparty products

如上图所示,当Component对应的Build都为yes表明configure成功了。

v 如果configure成功后,即可使用make命令来编译了,命令如下:

make -j8 install

v 编译成功后,即可运行draw.sh来测试OpenCASCADE了。

运行《OpenCASCADE Performance Test》中的Tcl脚本得到的效果如下图所示。模型及Tcl脚本都可以从下面获得:

http://www.cppblog.com/eryar/archive/2014/09/25/208421.html

由于笔记本的配置比较老了,运行起来速度没有新的机器快。同样数量的F1赛车模型的网格化及显示速度都要慢很多,而且帧频也明显要慢很多。

终于在Debian中把OpenCASCADE编译成功了,下一步就是使用OpenCASCADE在Debian中编程。

今天是国庆节,呆在家中摆弄这些代码也是比较惬意,免去了出去玩的People Mountain People Sea的拥挤。

Figure 4.4 Draw Test Hanress in Debian

Figure 4.5 Draw Test Harness in Debian

5. Conclusion

在Debian上成功编译OpenCASCADE后,为程序的开发打开一扇自由之门,在更Open的环境中开发程序,就不再受什么限制了,这点感觉比用Windows要好。

OpenCASCADE在Debian上编译主要使用了Autotools,所以需要正确安装Autotools及熟悉其使用方法。这点上感觉没有用习惯了的Visual Studio方便,新的工具只有慢慢适应。

设置合适的Debian更新源也很重要,刚开始我根据网上所说的选择了国内的镜像,导致一些工具不能自动安装,更换成USA的就可以了。

时间: 2024-10-10 15:16:13

OpenCASCADE软件包的相关文章

OpenCASCADE Camera

OpenCASCADE Camera [email protected] Abstract. OpenCASCADE introduce a new class Graphic3d_Camera for the Visualization module. The camera class provides object-oriented approach to setting up projection and orientation properties of 3D view. The pap

Building OpenCASCADE on Debian

Building OpenCASCADE on Debian [email protected] Abstract. When you are familiar with OpenCASCADE on Windows, you should try it on Linux operating system, because of Debian is also open source like OpenCASCADE. The paper is focus on how to building t

Linux笔记(九) - 软件包管理

(1)软件包简介1.源码包   脚本安装包2.二进制包(rpm,系统默认包) (2)rpm包管理安装-i 安装 -v 显示详细信息 -h 显示进度--nodeps 不检测依赖性-U 升级例:安装: rmp -ivh 包名    升级: rmp -Uvh 包名-e 卸载例:rmp -e 包名-q 查询-a 所有-i 软件信息-p 未安装包信息-l 安装位置-f 系统文件属于哪个包-R 依赖性例:查询所有已安装的: rpm -qa | grep 包名    查询软件详细信息: rpm -qi 包名 

R语言常用的软件包

> update.packages() --- Please select a CRAN mirror for use in this session --- CRAN mirror 1: 0-Cloud [https]                     2: 0-Cloud 3: Algeria [https]                     4: Algeria 5: Argentina (La Plata)                6: Australia (Canbe

软件包管理之RPM

一.前言 在没有软件包管理器前,用户都是通过源代码的方式来安装软件.但是我们很容易发现,在每次安装软件时都必须对操作系统的境.编译的参数进行对应的编译,并且操作过程很是复杂,这对于不熟悉操作系统的朋友来说真心困难,那么有没有一款软件能让用户能很简单的安装所需的软件呢? 随着自由软件蓬勃发展,Linux系统的飞快发展,很多软件开发者.企业和社区将这些软件开始通过收集.整理.编译制作成distributions发布到常用的Linux操作系统上,但是后来发现,这样做在日后软件更新.系统更新上面都需要做

【linux基础】16、软件包管理

一.软件包概述 1.相关概念 源码安装操作系统方式:通过宿主机安装 GPL:公布源码(c,c++) POSIX规范:Portable Operatin System (原代码)移植性 API:应用编程接口,兼容,意味开发库兼容,因此源代码可夸平台 ABI:应用二进制接口,兼容,编译后的程序可夸平台 库:就是函数\功能,可执行程序,本身不能作为程序执行的入口,但可以被调用 编译好的二进制格式 glibc:linux标准的C库 程序开发完成后要使用得经过的步骤: 预编译,编译,汇编,链接(把库文件链

软件包安装命令

rpm包: rpm -ivh 包名 rpm -q 查看 rpm -e 卸载软件包 解决依赖的方法: 先安装依赖包,在安装主包 强制安装 rpm -nodeps yum install 包名 yum remove 包名 ps -ef| grep yum yum clean all yum updata yum 需要依赖网络,基于yum仓库 tar 解压:tar -xzvf 包名 tar -xjvf 包名 打包:tar - 源码安装三个步骤 进入源码目录 ./configure;预编译 make ;

17、Linux软件包管理工具yum详解

yum介绍 yum客户端的使用 配置文件项作说明: 案例repo配置文件. 创建yum源命令(yum-config-manager) yum list相关命令 yum安装 yum更新和升级 yum查找和显示 yum删除程序 查看仓库 实战演练本地yum仓库(光盘) YUM内置变量 创建YUM仓库(http) yum介绍 yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安

Linux基本功杂记——[010]——{rpm、yum及源码方式管理软件包}

一.yum配置文件位置 /etc/yum.conf /etc/yum.repos.d/*.repo 二.yum常用命令 install pkgs reinstall pkgs update pkgs update-to check-update erase pkgs list installed/updates info pkgs provides pkgs deplist pkgs repolist all/enabled/disabled history [info num] clean a