Open CASCADE之v7.4.0源码编译与可视化调试,使用VS2017+32位编译器(1)

简介: Open CASCADE之v7.4.0源码编译与可视化调试,使用VS2017+32位编译器

1、官方源码下载(需要注册账户才能下载)


https://www.opencascade.com/content/latest-release  最新版本下载


https://www.opencascade.com/content/previous-releases  历史版本下载


https://www.opencascade.com/content/3rd-party-components 第三方依赖库,其中Freetype和Tcl/Tk是必须的


https://dev.opencascade.org/doc/overview/html/occt_dev_guides__building.html 环境搭建

目前官方最新版是v7.4.0,仅提供windows x64位的编译结果。32位就需要自己下载源码编译了。


2、准备好第三方库,下载32位的版本。


OCCT使用两种类型的第三方库,本人放弃了TBB(Threading Building Blocks),其他库都下载了:


强依赖(必须的):


Tcl/Tk

FreeType

弱依赖(可选的):


gl2ps

FreeImage

ffmpeg

VTK

TBB

3、解压官方源码包,然后建立文件夹opencascade-7.4.0\3rd,用来存放第三方库。


4、把opencascade-7.4.0\src\D3DHost路径下的头文件


D3DHost_FrameBuffer.hxx

D3DHost_GraphicDriver.hxx

D3DHost_View.hxx

拷贝到路径\opencascade-7.4.0\inc


5、编译OCCT库


image.png


使用VS2017打开OCCT库的工程文件opencascade-7.4.0\adm\msvc\vc141\OCCT.sln,以下子项目依赖第三方库:


TKD3DHost


TKDraw


TKIVtk


TKIVtkDraw


TKOpenGl


TKService


TKV3d


TKViewerTest


VS IDE主菜单-视图-属性管理器-添加新项目属性表-手动配置好第三方头文件和库文件:


C/C++,常规,附加包含目录


../../../3rd/freetype-2.5.5-vc14-32/include

../../../3rd/tcltk-86-32/include

../../../3rd/freeimage-3.17.0-vc14-32/include

../../../3rd/gl2ps-1.3.8-vc14-32/include

../../../3rd/ffmpeg-3.3.4-32/include

../../../3rd/VTK-6.1.0-vc14-32/include/vtk-6.1

%(AdditionalIncludeDirectories)

链接器,常规,附加库目录


../../../3rd/freetype-2.5.5-vc14-32/lib

../../../3rd/tcltk-86-32/lib

../../../3rd/freeimage-3.17.0-vc14-32/lib

../../../3rd/gl2ps-1.3.8-vc14-32/lib

../../../3rd/ffmpeg-3.3.4-32/lib

../../../3rd/VTK-6.1.0-vc14-32/lib

%(AdditionalLibraryDirectories)

链接器,输入,附加依赖项


freetype.lib

tcl86.lib

tk86.lib

FreeImage.lib

FreeImagePlus.lib

gl2ps.lib

最后,选择32位编译,大功告成(#^.^#)


6、可视化调试,OCCT自定义了许多对象,这些对象在VS2017默认的调试界面是看不到的.幸亏官方提供了occt.natvis文件


(1)请把OCCT官方源码包里的文件


\opencascade-7.4.0\dox\dev_guides\debug\occt.natvis


拷贝到路径


C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Packages\Debugger\Visualizers\


(2)如果你不了解.natvis文件是干什么的,请访问我的另一篇博文:


Natvis文件实现VS2013调试可视化(Debugger Visualizers)


(3)VS IDE主菜单-调试-输出窗口-natvis诊断消息-详细,可以查看natvis文件的读情况。


(4)想了解更多调试信息,请参见\opencascade-7.4.0\dox\dev_guides\debug\debug.md


7、编译mfc samples


(1)打开工程文件opencascade-7.4.0\samples\mfc\standard\All-vc141.sln


(2)选择平台工具集,Visual Studio 2017 (v141),SDK版本10.x


(3)每个子项目都需要添加依赖,考虑到项目文件包含关系复杂,这里使用绝对路径:


C/C++,常规,附加包含目录


F:\tmp-source\OCCT\opencascade-7.4.0\inc;%(AdditionalIncludeDirectories)

链接器,常规,附加库目录


F:\tmp-source\OCCT\opencascade-7.4.0\win32\vc14\libd;%(AdditionalLibraryDirectories)

(4)先编译子项目mfcsample,后编译其他


相关文章
|
5天前
|
PHP 数据库 开发者
PHPStorm的调试功能可以调试哪些类型的问题?
总之,PHPStorm 的调试功能非常强大,几乎可以应对 PHP 开发中遇到的各种类型问题,为开发者提供了有力的支持,提高开发效率和代码质量。
75 48
|
3月前
|
JavaScript 前端开发 数据可视化
Jupyter Notebook如何调试?JupyterLab作为DeBug调试工具及调试教程
文章提供了JupyterLab debugger工具的安装和使用教程,包括如何在没有conda环境或已有conda环境下安装所需的软件包,如jupyterlab、Node.js、ptvsd和jupyterlab的debugger插件,以及如何使用debugger进行程序调试。同时,文章还列出了一些常见的安装问题及其解决办法。
804 1
|
6月前
|
Java 测试技术 Go
使用go的内置运行时库调试和优化程序
【5月更文挑战第18天】在本文中,作者探讨了如何为运行时程序添加剖析支持以优化性能。他们面临的问题是一个程序需要找出平方根为整数且逆序平方等于其逆序的数字。他们首先展示了原始代码,然后使用`runtime`库进行优化,将计算和调用功能分离,同时记录CPU和内存使用情况。
57 4
|
5月前
|
Linux Swift iOS开发
LLDB:强大的源代码级调试工具
LLDB:强大的源代码级调试工具
316 0
|
iOS开发
LLDB 调试命令、插件和技巧(上)
LLDB 调试命令、插件和技巧(上)
639 0
|
6月前
|
IDE 开发工具 C语言
QT案例IDE编写 -- 编译操作
QT案例IDE编写 -- 编译操作
51 0
|
存储 数据可视化 NoSQL
Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置
Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置
2652 0
Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置
|
并行计算 开发工具 Windows
xmake新增对Cuda代码编译支持
最近研究了下NVIDIA Cuda Toolkit的编译环境,并且在xmake 2.1.10开发版中,新增了对cuda编译环境的支持,可以直接编译*.cu代码。
1188 0
|
弹性计算 并行计算 NoSQL
Clion配置远程CUDA调试环境
在阿里云GPU ECS实例上搭建Remote CUDA开发环境,使用Jetbrains Clion作为Develop IDE。
899 1
Clion配置远程CUDA调试环境
|
iOS开发
LLDB 调试命令、插件和技巧(中)
LLDB 调试命令、插件和技巧(中)
451 0