MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT如果我们想了解 CAD 软件的内核到底是怎么回事 可以通过开源的 CAD 内核进行初步学习 开发 优化和代码重构 让自己能够更加深入的去了解 CAD 软件

大家好,欢迎来到IT知识分享网。

前言

全球商业专用的CAD软件,都有自己专用的软件内核,而软件内核的实质是几何图形算法的高度糅合。如果我们想了解CAD软件的内核到底是怎么回事,可以通过开源的CAD内核进行初步学习、开发、优化和代码重构,让自己能够更加深入的去了解CAD软件。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

CAD的内核种类

由于全球的CAD软件大部分都是商业专用软件,其图形内核一般不会对外开源,我们现在只能先使用“半开源”的CAD内核OpenCASCADE进行初步的QT开发学习。

初步学习和入门QT OpenCASCADE项目的开发基础

首先,你要对MacOS等主流的类Unix操作系统有一定的上手能力,比如在Linux、MacOS系统中能使用黑乎乎界面的终端,且终端中能够进行常见的命令符操作:ls、cd、mv、tar zxvf 、rm -f等等;

其次,要会一门编程语言和GUI开发框架,比如C++11、QT5,在后面的项目开发过程中能够更容易上手。

最后,要对CMake的构建有一定的了解,或者你要会使用Cmake GUI 客户端工具,以方便软件包、第三方包的安装和链接。

使用Cmake GUI工具去构建编译QT OpenCASCADE

(1).下载Qt5以上版本,安装QT Creator代码编辑器,让Qt Cmake项目去组合OpenCASCADE内核套件。

关于Qt Creator这个代码编辑器的下载和安装,我就不多讲了,你们可以访问Qt的官网,下载官方开源版就行,需要注意的是:官方开源版的Qt Creator,一定要通过自己的邮箱进行注册才能激活进行安装

当Qt Creator安装完成之后,我们创建Qt项目之后,一定要选择Cmake方式来构建项目,因为OpenCASCADE内核的源代码构建和管理方式,官方也采用的是Cmake。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

项目newcad的目录存放结构

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

QtCreator中所创建的项目-newcad

如上图,我们创建的Qt项目-newcad,在Qt Creator代码编辑器中是无法看到3rdparty这个目录的存在,只能通过苹果MacOS系统的终端进行查找。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

MacOS的终端界面操作:在项目newcad中新建文件夹3rdparty

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

newcad项目基本目录结构

之所以要在newcad项目中新建一个3rdparty文件夹,是为了把OpenCASCADE内核相关的组件和子集都放在一个文件中进行管理,比如freetypefreeimagetk/tclVTK

为了减轻OpenCASCADE内核QT项目的入门难度,我这里就不再增加VTK的构建,因为VTK与OpenCASCADE在进行组合构建编译之前,还需要在MacOS系统中安装X11(或XQuartz),有的开发者也不一定会选择使用VTK,也有可能会选择其它3D数据视图工具集,比如FreeCAD的Coin3d

(2).安装Cmake GUI客户端工具,让OpenCASCADE的Cmake构建更加方便。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

Cmake GUI图形构建工具

关于Cmake GUI客户端工具,其安装是非常方便的,MacOS还专门提供了brew命令进行cmakede的安装,甚至Qt的一些版本也自带Cmake GUI客户端工具。这里,我就不再叙述更多,你们可以自行安装。

(3).进入opencascade的官网,下载OpenCASCADE、freetype、freeimage和tk/tcl。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

OpenCASCADE的下载

这四个工具和内核部分,需要注意的是OpenCASCADE一定要选择7.6以上版本,可避免后面的Cmake、make等指令的编译错误。

tk/tcl,系统有自带的版本,我们可以不需要再进行重装,如果你觉得系统自带的版本不够新,可以进入相关链接进行安装和更新。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

freetype和freeimage,解压即可进行构建

freetype和freeimage,这两个工具集我们下载之后,直接进行压缩包的解压就行,无需在系统的终端进行后续的make、make install的指令操作。

(4).选择opencascade主源文件,通过Cmake GUI工具去集成freetype、freeimage和tk/tcl。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

Cmake GUI工具,导入opencascade的安装路径

导入opencascade主源文件之前,tk/tcl和VTK这两个子工具集必须要先进行make、make install编译操作,以免文件缺失。并且,opencascade的所有相关的子工具,必须在系统终端进行解压,防止构建文件的缺失,如下:

# vtk需要提前绑定添加Qt相关的组件 # vtk目录下的make编译 ~$:make ~$:make install # tk目录下的make编译 ~$:make ~$:make install # tcl目录下的make编译 ~$:make ~$:make install

当vtk、tk和tcl都通过make指令进行编译之后,我们才可以通过主源文件opencascade进行项目的cmake构建。

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

在opencascade目录下新建build文件夹

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

开始进行cmake构建,点击Done

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

正在构建生成设置选项

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

stop按钮重新变成Configure时,我们首先解决错误提示CMP0054

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

在CMakeLists.txt文件中,消除错误提示

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

在USE目录中,选中USE_FREEIMAGE、USE_FREETYPE、USE_TK,并点击Configure

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

开始进行freeimage、freetype、tk/tcl的目录设置

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

tk和tcl,无需我们手动设置,系统会自动提供其完整路径,默认为空

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

设置OCCT的生成路径,并点击Configure

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

选中BUILD_SAMPLES_QT,继续点击Configure

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

设置QT工具编译的路径,继续点击Configure

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

保存QT路径,继续点击Configure

MacOS 的QT开发初学(一):使用cmake工具,去编译opencascade为OCCT

点击Generate,完成opencascade的集成构建

(5).使用make和make install命令,对openCASCADE源文件进行编译,生成动态库、静态库文件OCCT。

首先,重新打开一个MacOS的终端窗口,进入opencascade源文件的build目录;

 进入opencascade源文件中的build目录 MacBook:~ zhou$ cd /library/cad/1/newcad/3rdparty/opencascade-7.6.0/build MacBook:build zhou$

其次,在build文件中,先检查里面是否有Makefile, 如果有就继续执行make指令,进行源文件的编译。

 使用ls命令,检查Makefile是否存在 MacBook:build zhou$ ls CMakeCache.txt CMakeFiles Makefile 如果Makefile存在,执行make命令,此操作请耐心等待 MacBook:build zhou$ make

最后,通过make install命令生成OCCT文件,OCCT文件包含了我们所需要的静态库和dylib动态库。

 使用make install命令,生成OCCT文件 MacBook:build zhou$ make install [97%]XXXTk2d.dylib [98%]XXXTk3D.dylib [100%] done 生成过程结束后,请在项目的3rdparty目录检查OCCT文件是否生成 

结语:

关于Cmake工具构建openCascade内核的所有过程,可能很多人看到我这篇内容较长,但是实际上可以避免很多错误的设置,而且openCascade内核的使用在目前主要是Windows系统社区更活跃一些,我希望MacOS系统、Linux桌面系统的CAD开发者也能进行参与。

如果以上操作步骤仍有疑惑,可以在下方的评论区进行回复,我会针对相关配置进行解答。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/188287.html

(0)
上一篇 2025-09-18 11:26
下一篇 2025-09-18 11:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信