首页 > 技术文章 > vtk 的qt插件编译

codeAndlearn 2020-03-08 21:31 原文

1.学习方法总结

1. ..\PCL-1.9.1-AllInOne-msvc2017-win64\share\doc\pcl-1.9\tutorials\sources\中包含基本常用的模块的例子
2. ..\PCL-1.9.1-AllInOne-msvc2017-win64\share\doc\pcl-1.9\tutorials\html\中的有相关的例子的说明,通过谷歌浏览器的翻译功能可以很快学会对应的api使用
3.对应的例子基本都是用cmake构建项目,所以有必要熟悉使用cmake,因为基本c++大型开源项目都是使用cmake构建项目
4.通过对于优秀开源项目的学习以及使用,学习c++编程技巧以及c++代码风格,形成好的代码风格。
5.上一次尝试通过pcl_allinone安装包中的vtk-8.0去编译安装包中qt_visualizer例子发现allinone包中并没有编译对应的qvktplugin插件,需要编译

2.编译vtk-8.0

1.直接使用vtk8.2去编译pcl-1.9.0的源码无法编译通过,提示的原因是一些函数以及过时,因此我判断可能是vtk版本过高,我使用vtk-8.0
成功编译了pcl-1.9.0的源码
2.但是没有avtkplugin的插件,因此git clone了vtk-8.0源码,重新编译
3.编译过程注意问题
4.选择qt的编译版本为5,同时勾选如下


5.为后面的mfc的使用方便 
勾选 vtk_guiSurpportMFC 
6.不用勾选对应tests模块,存在报错,具体原因未深究
7.打开vs项目,对于all_build以及install项目进行重新生成,无报错

3.编译qt_visualizer

出现以下报错

判断是qt_vtk插件的问题,解决方式如下

1.找到对应的qtvkplugin.dll,安装对应的博客指示将dll拷贝到相应的qt版本的
即将C:\Program Files\VTK\plugins\designer\QVTKWidgetPlugin.dll复制到
G:\Qt\5.9.4\msvc2017_64\plugins\designer 下

2.打开对应designer,通过如下博客说方式刷新获取对应的插件。

https://blog.csdn.net/u012135461/article/details/77833316

进入Qt designer
点帮助->关于插件->刷新
QVTK就出来了

ok

4.cmake 编译vs项目

添加vtkGUISupportQt-8.0.lib,QVTKWidgetPlugin.lib两个dll,ok qt显示啦、
效果如下

![](https://img2020.cnblogs.com/blog/744642/202003/744642-20200308212652096-1827859531.png)

推荐阅读