详细的VTK VS QT配置 vtk8.2.0 + vs2017 + QT5.9.2

2 篇文章 1 订阅
2 篇文章 0 订阅

经过了很多次的失败

大概的总结一下具体流程

在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);

 

成功

 

评论 47
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值