文档章节

Building OpenCASCADE on Debian

eryar
 eryar
发布于 2014/11/23 12:34
字数 1268
阅读 24
收藏 0

Building OpenCASCADE on Debian

eryar@163.com

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 the OpenCASCADE on Debian. 

Key Words. OpenCASCADE, Linux, Debian, Building 

1. Introduction

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

wps_clip_image-8707

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 等就可以自动更新及安装软件。 

wps_clip_image-31950

Figure 1.2 debian the universal operating system 

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

wps_clip_image-3108

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等,配置参数如下所示: 

wps_clip_image-30961

Figure 4.1 Configure options for OpenCASCADE 

示例configure命令如下: 

wps_clip_image-13390

Figure 4.2 configure example 

image

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的拥挤。 

wps_clip_image-17573

Figure 4.4 Draw Test Hanress in Debian 

wps_clip_image-9360

Figure 4.5 Draw Test Harness in Debian 

5. Conclusion

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

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

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

 

© 著作权归作者所有

共有 人打赏支持
eryar
粉丝 21
博文 127
码字总数 227012
作品 0
武汉
私信 提问
Building OpenCascade on Windows with Visual Studio

Building OpenCascade on Windows with Visual Studio eryar@163.com 摘要Abstract:详细说明OpenCascade的编译配置过程,希望对你编译OpenCascacde有所帮助。本文内容来自OCCT的Overview文档...

eryar
2013/09/23
0
0
FreeCAD 0.16 发布,开源 CAD/CAE 工具

FreeCAD 0.16 发布了,FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发平台...

oschina
2016/04/21
2.9K
2
OpenCASCADE Make Primitives-Box

OpenCASCADE Make Primitives-Box eryar@163.com Abstract. By making a simple box to demonstrate the BRep data structure of the OpenCASCADE. The construction method is different fr......

eryar
2014/11/23
0
0
如何将openCASCADE和c++结合起来,哪位牛人能不能给我指点指点啊.

如何将openCASCADE和c++结合起来,哪位牛人能不能给我指点指点啊.我现在正想用openCASCADE和c++结合起来做一个像cad软件的东西。

chenchenxixi
2012/07/09
1K
2
FreeCAD 0.17Pre 发布,开源 CAD/CAE 工具

FreeCAD 0.17Pre 发布了。 FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发...

达尔文
2016/10/10
2.3K
3

没有更多内容

加载失败,请刷新页面

加载更多

day11

architect刘源源
今天
6
0
论学好Linux系统的超级重要性

不知道各位在日常的工作生活中有没有接触过“rm -rf /*”这个命令,因为这个命令搞出来的事情可还不少呢!前段时间就在一个群里看到了有个小伙子,老板让他去维护一下服务器,这小伙也不太懂...

Linux就该这么学
昨天
6
0
git 使用

1,首先在github配置好信息和仓库,然后在本地进行操作 git init git config user.name 'zhangwuer' git config user.email '56789053@qq.com' 2,与远程分支建立连接 git checkout -b test......

天王盖地虎626
昨天
3
0
git checkout 命令详解

在日常的git操作中,git checkout——检出,是我们的常用命令。最为常用的两种情形是创建分支和切换分支。 在下面的命令中,使用了一些简写,在这里说明一下: git st # git statusgit ci ...

shzwork
昨天
10
0
【Nginx】Nginx多级代理,获取客户端真实请求IP以及每级代理IP

Nginx多级代理,获取客户端真实请求IP以及每级代理IP 如图所示,每一级nginx里的location配置里需要加上对应的配置,最后一级nginx是直接到应用,测试时为了方便,直接用echo模块去测试,打印...

薛定谔的旺
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部