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,后编译其他


相关文章
|
2月前
|
PHP 数据库 开发者
PHPStorm的调试功能可以调试哪些类型的问题?
总之,PHPStorm 的调试功能非常强大,几乎可以应对 PHP 开发中遇到的各种类型问题,为开发者提供了有力的支持,提高开发效率和代码质量。
99 48
|
iOS开发
LLDB 调试命令、插件和技巧(上)
LLDB 调试命令、插件和技巧(上)
662 0
|
8月前
|
Java 测试技术 Go
使用go的内置运行时库调试和优化程序
【5月更文挑战第18天】在本文中,作者探讨了如何为运行时程序添加剖析支持以优化性能。他们面临的问题是一个程序需要找出平方根为整数且逆序平方等于其逆序的数字。他们首先展示了原始代码,然后使用`runtime`库进行优化,将计算和调用功能分离,同时记录CPU和内存使用情况。
61 4
|
7月前
|
Linux Swift iOS开发
LLDB:强大的源代码级调试工具
LLDB:强大的源代码级调试工具
399 0
|
iOS开发 C++ Python
LLDB 调试命令、插件和技巧(下)
LLDB 调试命令、插件和技巧(下)
488 0
|
iOS开发
LLDB 调试命令、插件和技巧(中)
LLDB 调试命令、插件和技巧(中)
464 0
|
数据可视化 编译器
Open CASCADE之v7.4.0源码编译与可视化调试,使用VS2017+32位编译器(2)
Open CASCADE之v7.4.0源码编译与可视化调试,使用VS2017+32位编译器
388 0
在Qt Creator中使用make构建,运行,调试通用C/C++项目
在Qt Creator中使用make构建,运行,调试通用C/C++项目
255 0
|
NoSQL IDE 开发工具
GDB技巧分享,让你的调试变得更方便
GDB是我们在嵌入式程序调试时最常使用到的调试工具,有关GDB的文章,网上早已经层出不穷。这边会分享一些GDB调试上的小技巧,也许会让大家再重新认识一下这个很熟悉的工具,也希望能让大家的调试能够更加方便。
GDB技巧分享,让你的调试变得更方便