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