需要提前安装好VS2017和VS2019和Qt VS开发控件以及Qt VS-addin。
注意Qt6.2.4只能跟VTK9.2.6联合编译(目前VTK9和Qt6的相互支持版本)。
首先下载VTK,需要下载源码和data:
Download | VTKhttps://vtk.org/download/
然后这两个文件同时解压,会自动解压到一个文件夹里。
VTK 7.1与Qt5的联合编译
建一个新文件夹来存放CMake构建的结果:
我们先编译VS2019版本的。点击configure,选择VC16 VS2019来配置。
注意Qt5.15和VTK7.1.1联合编译会报错:
错误 C3848 具有类型“
const vtkLabelHierarchy::Implementation::PriorityComparator”的表达式会丢失一些 const-volatile 限定符以调用“bool vtkLabelHierarchy::Implementation::PriorityComparator::operator ()(const vtkIdType &,const vtkIdType &)” vtkRenderingLabel D:\Visual Studio 2019\VC\Tools\MSVC\14.24.28314\include\xtree 1683
没有很好的解决方法。使用Qt5.9是可以的,但是Qt5.9无法安装到VS2019上,所以建议的环境是VS2017+Qt5.9+VTK7.1.1,或者VS2015+Qt5.9+VTK7.1.1。
配置完成以后,需要再修改一些设置:
- 在 BUILD勾选 BUILD_SHARED_LIBS该选项可以生成VTK的lib与dll。
- 根据需要勾选 BUILD_EXAMPLES,使编译生成一些测试用例。
- 另外可设置 CMAKE_DEBUG_PREFIX 的值,该变量表示在 Debug模式下输出的文件名的后面加上的字符可用于区分编译后的Release和 debug 版本(VTK7.1没有此功能)。
- 设置CMAKE_INSTALL_PREFIX目录为VTK的生成的库的目录(自己设置一个目录)。
- 设置VTK_Group_Qt
然后再次Configure。
然后把QT版本改为Qt5:
如果找不到路径,说明Qt路径不在环境变量里,需要设置环境变量名为Qt5_Dir
因此需要手动设置:
然后继续configure。
之后Generate就好了。
然后我们先ALL_BUILD然后再Install,需要等一段时间。
VTK 9与Qt6的联合编译
未完待续