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


相关文章
|
数据可视化 C++
msvc编译opencascade和vtk
1.opencascade源码 我下载的时候最新版本是7.7.0
436 0
|
算法 JavaScript 前端开发
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(三)
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM
3774 1
开源项目推荐:CNC+CRC/SoftPLC/OpenCASCADE/CAD/CAM(三)
|
JavaScript 前端开发 IDE
QCAD v3.23.0.2源码编译,使用VS2017+Qt5.12.5环境
QCAD v3.23.0.2源码编译,使用VS2017+Qt5.12.5环境
1256 0
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
2177 0
我的Qt作品(3)基于QTabWidget和AdvancedDocking实现的Ribbon风格主界面【开源】
|
计算机视觉
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
1604 0
我的Qt作品(6)使用Qt完整解析dxf文件并绘制(支持椭圆和样条曲线)
|
计算机视觉
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
2551 0
AutoCAD *.dxf文件解析,使用dxflib搞定polyline/spline/ellipse等复杂图形(★firecat推荐★)
Qt设置窗口可拖动
Qt设置窗口可拖动
354 0
|
XML 图形学 C++
技术经验分享:ASSIMP概述
技术经验分享:ASSIMP概述
317 0
|
C++ 开发者
QT基础【3-VS和QtCreator转换】
QT基础【3-VS和QtCreator转换】
|
Windows
Qt 5.14.2 打造跨平台应用的秘诀:用Visual Studio 2022和Qt 5.14.2轻松创建你的首个QT项目
Qt 5.14.2 打造跨平台应用的秘诀:用Visual Studio 2022和Qt 5.14.2轻松创建你的首个QT项目
1190 0