VTK8.1 在 Qt5.9 环境下的配置、编译和安装

为了实现realsense的PCL点云显示,需要VTK支持。由于整个平台在Qt环境实现,VTK编译为Qt插件。整个过程并不复杂,网上的文章大多不全,自己梳理了一下,分享出来,希望这是大家阅读的最后一篇在Qt下安装VTK插件的文章。

0 编译环境
0.1 软件包及版本
Qt5.9.4
msvc2015_64
VS2015
 
VTK 8.1.1
cmake3.11.3

0.2 本地目录说明
Qt5.9.4 msvc64目录
C:\Qt\Qt5.9.4\5.9.4\msvc2015_64
VTK解压目录
C:\WS\vtk\VTK-8.1.1
VTK Build目录
C:\WS\vtk\VTK-8.1.1\build
VTK安装目录(存放编译好的inc,lib)
C:\vtk

1 VTK下载
1.1 下载VTK-8.1.1.zip,VTKData-8.1.1.zip文件
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

1.2 解压
选择解压到当前目录,两个文件解压后会自动拼合在VTK-8.1.1文件夹。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

2.CMake配置VTK for Qt编译环境
2.1 启动CMake,指定源码目录和编译目录,点击Configure。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

2.2 指定VS版本
64位选 Visual Studio 14 2015 Win64,32位选 Visual Studio 14 2015。点击finish就,等待配置完成。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

2.3 配置编译选项(1)
BUILD选项
选择BUILD_EXAMPLES,BUILD_SHADRED_LIBS,BUILD_TESTING。
注意:
不建议选择DOCUMENTATION,这需要先安装doxygen。
不建议去掉TESTING,这会导致在后期VS编译阶段报错,需要修改头文件。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
VTK安装目录
存放include,lib,dll(bin)等编译结果的目录。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
VTK_Group_Qt
这里设置编译的目标环境为Qt。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
完成上述三个设置后,点击Configure。

2.4 配置编译选项(2)
第1次配置完成后,会提示用户输入Qt5_DIR和VKT_QT_VERSION。
将Qt5_DIR修改为C:/Qt/Qt5.9.4/5.9.4/msvc2015_64/lib/cmake/Qt5。
将VKT_QT_VERSION设置为5。
再次点击Configure继续。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

2.5 Generate工程
配置成功后,出现Configure done提示。点击Generate生成工程。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

VTK8.1 在 Qt5.9 环境下的配置、编译和安装

2.6 启动VS2015开始编译
出现Generating done提示表示VS2015工程已经生成成功。点击Open Project,VS2015会启动,并打开工程。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

3 在VS2015中编译VTK工程
3.1 编译
打开工程后,默认启动项为ALL_BUILD,直接选择生成即可。Release和debug版本都需要生成,所以要执行两次编译。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
等了很久,很久... ...然后就成功了。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

3.2 安装
选install,右键点生成。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
install OK。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

3.3 编译结果
VS2015的编译结果包括4个部分。
1. include 不区分release和debug版本
2. lib 不区分版本
3. dll 根据输入配置选择debug和release版本)
4. plugin dll 只有release版本可用)
这4个编译结果被放在2个位置
.h和.lib文件存放在C:\VTK目录(步骤2.3配置)。C:\VTK下的dll文件请不要使用,因为没有区分release和debug。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
.dll文件被放在C:\WS\vtk\VTK-8.1.1\build\bin(步骤2.1配置)。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

3.4 编译成功测试(不想测试可以跳过此步骤)
编译好的dll和exe在VTK-8.1.1\build\bin\Release\
将Qt目录下的Qt5Gui.dll、Qt5Core.dll、Qt5Widgets.dll复制到该目录或debug目录。(也可配置环境变量)
运行该目录下的QtVTKRenderWindows.exe,看到如图所示的exe启动即编译成功。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

4 为Qt Designer安装QVTKWidget插件
4.1 安装
将C:\WS\vtk\VTK-8.1.1\build\bin\Release\QVTKWidgetPlugin.dll复制到C:\Qt\Qt5.9.4\5.9.4\msvc2015_64\plugins\designer\目录。
注意:一定要复制Release版本。
4.2 验证
启动Qt Designer。
这里有两个版本,一般上面是32位,下面是64位。根据编译的版本选择。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
在左侧widget box的最下方可以看到QVTKWidget说明安装成功。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

5 补充
5.1 在VS2015环境下使用VTK
需要在VS2015的扩展和更新中安装Qt Visual Studio Tools扩展工具,注意QtPackage不能使用QVTKWidget插件,不要安装。
安装步骤
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
1.在工具菜单中选择扩展和更新
2.在联机中选择Qt Visual Studio Tools安装。还有个QtPackage不能用,不要装。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装
3.安装成功后,菜单上会出现Qt VS Tools,点击Launch Qt Designer就能看到。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装

5.2 在Qt Creator环境下使用VTK
Qt Creator环境下的designer是看不见QVTKWidget插件的,所以不能直接拖放。需先拖放QWidget,然后再选择QWidget提升为QVTKWidget。
VTK8.1 在 Qt5.9 环境下的配置、编译和安装