OpenCascade编译

Stella981
• 阅读 939

OpenCASCADE的编译 

The Installation and Compilation of OpenCASCADE

eryar@163.com

一、 安装OpenCASCADE

可以从OpenCASCADE的官网上下载其安装包,可以选择最新的版本,下载网址为:

http://www.opencascade.org/getocc/download/loadocc/ 。如果只用其库来编程已经够了,安装好下载的安装包即可。若想对其进行调试,必须先把它编译成功。想编译通过,必须下载第三方库,因为OpenCASCADE中用到了第三方的工具,有些库是可选的,有些是必须的。如:FreeImage为通用图形格式的支持;FreeType和Ftgl为对文字渲染的支持,包括对中文渲染的支持;gl2ps用来将渲染的内容转换为矢量图形输出,等等。第三方库都可以从官网上提供的链接来下载,因为不同的版本可能用到的第三方库的版本也不同,必须保持一致。下载地址为:

http://www.opencascade.org/getocc/download/3rdparty/ 。对于Windows操作系统下载各相应版本如下所示:

Windows

Products

vc8

vc9

vc10

vc11

32 bit

64 bit

32 bit

64 bit

32 bit

64 bit

32 bit

64 bit

 Freeimage 3.14.1

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 Freetype 2.3.7

 zip

 zip

 zip

 zip

 zip

 zip

 Freetype 2.4.10

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 Ftgl 2.1.2

 zip

 zip

 zip

 zip

 zip

 zip

 Ftgl 2.1.3

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 gl2ps 1.3.5

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 zip

 Qt

 Qt 4.6.2

 TBB

 TBB 3.x or 4.x

 Tcl/Tk

 ActiveTcl 8.5 or 8.6

不同的Visual Studio及不同的CPU位数应选择对应的第三方库进行编译。

有的时候编译通不过,可能报的错误就是第三方库的版本与安装好的OpenCASCADE的版本不一致造成的。把与编译工具相应版本的第三方库重新编译并放到相应的目录下就可解决问题。这也是OpenCASCADE推荐的方法,原文如下:The recommended way to do this is to download each of the third-party tools from its web site and build it using the relevant tools.

二、 编译OpenCASCADE

OpenCASCADE6.5.0以后对编译环境的设置采用了批处理的方式。在安装完毕后的文件目录中有个ros的文件夹,其中有几个批处理文件:env.bat、env_build.bat、msvc.bat。打开这几个批处理文件,会发现它们就是在设置编译环境。早期版本是直接写到系统的环境变量中去,现在是运行批处理文件msvc.bat,根据不同的工具,输入以下参数,示例为:vc8 win32 Debug adm\win32\vc8\OCCT.sln。即运行命令切换到ros文件夹,输入下面的命令:msvc.bat vc8 win32 Debug adm\win32\vc8\OCCT.sln就可以启动整个项目,后面是一些选项设置,如使用的是VC8编译工具,平台为win32,输出为Debug。若是使用的Visual Studio 10则输入参数vc10 win32 Debug adm\win32\vc10\OCCT.sln即可,也很方便。

编译顺序也是非常重要的,必须按如下顺序进行:

1. Foundation Classes (file FoundationClasses.sln)

2. Modeling Data (file ModelingData.sln)

3. Modeling Algorithms (file ModelingAlgorithms.sln)

4. Visualization (file Visualization.sln)

5. Application Framework (file ApplicationFramework.sln) 

6. Data Exchange (file DataExchange.sln)

7. Draw (file Draw.sln)

 其实编译整个解决方案时,会自动按顺序编译的。

三、 总结

编译成功后,可以为以后程序的调试打下基础;也可对OpenCASCADE有个大概认识。希望你也能编译成功。若有任何问题,可与我联系:eryar@163.com

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Android So动态加载 优雅实现与原理分析
背景:漫品Android客户端集成适配转换功能(基于目标识别(So库35M)和人脸识别库(5M)),导致apk体积50M左右,为优化客户端体验,决定实现So文件动态加载.!(https://oscimg.oschina.net/oscnet/00d1ff90e4b34869664fef59e3ec3fdd20b.png)点击上方“蓝字”关注我
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这