经过了很多次的失败
大概的总结一下具体流程
在Cmake的时候一定要注意选择把编译器调整为x64的,否则后面会不断遇到模块计算机类型“x86”与目标计算机类型“x64”冲突
此类问题,因为QT是64位的无法在32位的vtk下运行
后来发现VTK可直接使用编译好的内容,不需要再去编译好几个小时,所以大家可以跳过下面的编译步骤,直接下载编译好的文件(在下面的配置内容中为路径是C:\VTK的VTK文件夹)
链接:https://pan.baidu.com/s/1224WSDVjAO6kLNHJ8k2ikQ
提取码:ylkn
开始编译VTK
设置cmake中的各项的值
设置好点击Configure
将QT_version更改为5
如果没有找到QT5的路径的话,则手动设置QT路径
再次点击Configure
Configure完成后不出问题就会全部变成白色
点击Generate
左下角出现Generating done后
点击Open Project
在Debug x64下,解决方案中右键ALL_BUILD,点击生成,等待很长一段时间
再从解决方案中右键INSTALL,点击生成
等完成后,更改为Release x64,再ALL_BUILD生成
再从解决方案中右键INSTALL,点击生成
测试:
找到Cube,将其设为启动项目
然后运行
成功。
接下来开始在VS上使用VTK:
1.配置QVTKWidgetPlugin文件
复制下面三个文件,dll在bin文件夹中,exp和lib在lib文件夹中
注意要用Release版本才可以正常使用
VTK\VTK-8.2.0\build\bin\Release
VTK\VTK-8.2.0\build\lib\Release
拷贝到以下目录中
Qt\Qt5.9.2\5.9.2\msvc2017_64\plugins\designer
2.设置include文件目录
右键项目进入属性页
加入此路径
3.设置lib文件目录
4.写入依赖项
打开文件夹
新建一个文本文档,写入内容 dir /a-d /b *>scr.txt
修改文件后缀名为.bat
运行该bat文件,即可获得一个名为src.txt的文件,将其打开
删除1.bat和src.txt,复制剩下的内容
接下来安装Qt VS Tools
首先推荐的方法是到网上找2.3版本一下的Qt VS Tools,因为2.3版本的容易出问题
这里是vs2017和vs2015的Qt VS Tools 2.2.1的备用链接
链接:https://pan.baidu.com/s/1vdEdpcvlFfyH55P3FroA0g
提取码:crfi
下载完后双击等他完成即可
然后用管理员方式运行VS
选择扩展和更新
在左下角找到 更改扩展和更新设置
将所有的自动检查更新都关闭,以免下次运行VS又会自动更新到Qt VS Tools2.3
另一种简单的方法是(只能安装最新版本的Qt VS Tools)
选择联机
搜索qt
中间会出现QT Visual Studio Tools,选择安装即可
QT Visual Studio Tools需要在qt下装有msvc2017
新建一个测试工程
注:路径最好不要带有中文名字,我后面出现了很多错误,可能是因为中文路径导致的
全都默认next就好
打开解决方案中的ui文件
在左侧的控件栏中会有一个QVTK控件
拖动到主窗口中
CTRL+S保存一下,然后到VS中运行
遇到如下问题:
由于找不到vtkGUISupportQT-8.2.dll,无法继续执行代码。重新安装程序可能会解决此问题。
解决:
再次运行,遇到如下问题
0x00007FFA5624F08E(ucrtbase.d)中处有未经处理的异常:请求了严重的程序退出。
引发此异常类型时中断从以下位置引发时除外:ucrtbase.dll
解决方式:
源代码中添加以下三行
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
成功