【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK

知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio

编号 内容
1 【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK
2 【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK
3 【VTK】VTK 显示小球例子,在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK
4 【VTK】官方示例,移植到自己的 Qt 工程,含代码

之前在 Windows 上完成了使用 Visual Studio 构建 VTK,这一篇结合实现 Qt 在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK。之前的文章链接为:【Visual Studio】在 Windows 上使用 Visual Studio 构建 VTK

1 版本环境

  • win11
  • visual studio 2022
  • VTK-9.2.6
  • CMake 3.26.3
  • Qt 6.2.8

2 构建步骤

建议全程打开 CMake 和 Visual Studio 时均使用管理员身份,防止不必要的麻烦。同时,如果电脑上提前在 Visual Studio 里安装了 Qt VS Tool,那么请提前卸载,最好再重启一下电脑。

如果不知道如何安装卸载 Qt VS Tool,可以参考:【VisualStudio】基于 Visual Studio 使用 C++ 语言开发 Qt 环境配置教程

1 准备文件夹结构

我是在 C 盘创建了一个 VTKFolders 来保存所有需要的文件。

在这里插入图片描述

2 运行 CMake

使用 CMake 生成一个 visual studio 解决方案。

首先以管理员身份打开 CMake-GUI。配置好资源文件夹和 build 文件夹。然后点击 Configure

在这里插入图片描述

会弹出一个选择框,选择适合自己的配置,然后 Finish

我电脑上安装了一个 32 位的 Qt 5.12.12 和 64 位的 Qt 6.2.8,测试了好多遍 Qt 5,都是不能用,所以我选择了 64 位的 Qt 6.2.8来安装,至于 32 位的 Qt 6 系列能不能用,我没有测试。

这里的图需要替换

在这里插入图片描述

我们现在有几个选项,可以根据需要打开或关闭。如:

  • 修改 CMAKE_INSTALL_PREFIX 为你想指定的文件夹
  • 勾选 Advanced,搜索 qt,将所有选项都选成 Yes

在这里插入图片描述

在这里插入图片描述

然后点击 Configure,可以多点击几次,一直到没有红色警告提示了。

这时候有可能会出现找不到 Qt 的情况,这是因为 Qt 的环境没有添加到系统的环境变量里。可以通过下图所示,将 Qt 添加到环境变量。注意,由于各自配置的文件夹不同,所以路径仅供参考。

不知道怎么打开系统环境变量的可以根据以下提示:
[start -> Edit the system environment variables -> Advanced -> Environment Variables -> Path -> Edit -> New]

在这里插入图片描述
配置完系统环境变量后,然后重启 CMake-GUI,再次 Configure,即可自动搜索到 Qt。
之后 Generate,这将填充 VTK-build 子文件夹。Open Project 就进入到 Visual Studio 工程里了。

图需要替换

在这里插入图片描述

3 在 Visual Studio 中构建

选择 ReleaseX64
然后选择右键 ALL_BUILD -> 生成

在这里插入图片描述

根据电脑性能不同,花费时间也不同。我电脑用了 3 分钟,报告显示成功 270,有 2 个失败。我继续往下进行了,目前问题不大。
然后我们就可以在文件夹中看到很多 .dll 文件。
放一下我自己的文件夹路径仅供参考 C:\VTKFolders\VTK-build\bin\Release

在这里插入图片描述

在这里插入图片描述

然后出错了 setlocal 的错误。这是一个比较典型的错误,我也尝试了网上分享的几种办法,但是都不适合我。

在这里插入图片描述

尝试下边这种解决办法。将生成后事件改成了否。然后再右键 INSTALL 工程,点击重新生成。

在这里插入图片描述

虽然不再报错 setlocal,但是还是不行。

在这里插入图片描述

最后尝试使用管理员身份打开 Visual Studio 工程,然后再右键 INSTALL 工程,点击重新生成,还是不行。

最后的最后,发现不用管,往下就行了。

3 测试是否成功

1 新建工程

如果一切顺利,那么现在应该可以编译并运行 C++ 示例了。
这里我测试的是,是否能将 Widget 控件提升为 QVTKOpenGLNativeWidget 并成功运行。

新建一个 Qt 工程,名字为 VTKTest,拖进一个 Widget 控件,提升其为 QVTKOpenGLNativeWidget 并得到如下图所示的工程界面。

不知道怎么进提升 Widget 的可参考:【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面

在这里插入图片描述

2 工程配置

然后添加 Qt OpenGLWidgets

不知道怎么进入这个界面可参考:【Visual Studio】报错 LNK2019,使用 C++ 语言,配合 Qt 开发串口通信界面【Visual Studio】报错 C1083,使用 C++ 语言,配合 Qt 开发串口通信界面

在这里插入图片描述

然后按照下图所示添加需要的库文件。

不知道如何打开这个界面的可参考:【Visual Studio】合并C++工程的 .h .lib .dll 文件,包括全部配置过程。Bug 报错 E1696 无法打开源文件,使用 C++ 语言,配合 Qt 开发串口通信界面

在这里插入图片描述

在这里插入图片描述
同时再截图一下自己的 Qt 版本。有时候也会因为版本问题会出现各种错误。

在这里插入图片描述

3 运行结果

运行成功后的结果如下图所示:

在这里插入图片描述

附录

因为一直配置不成功,中间还尝试过更换 VTK 的版本,更换为 VTK-9.0.3 后,结果错误更多了。
所以最后还是狠下心,就是搞现在手里这个版本把。索性最后把所有错误都犯了一遍后,也成功了。

在这里插入图片描述
在这里插入图片描述


Ref.

  1. VTK与QT源码编译和示例
  2. QT5+VTK9.1最新配置方法

QVTKOpenGLNativeWidget在Qt中的用法

我的第一个VTK程序–绘制球体

VTK读取一个TXT文档中的三维点坐标显示三维点云

VTK以批量三维点坐标为中心(点云)绘制球体,可用于标识特征点或者是化学分子


VTK 配置.md

VTK v9.0新版本找不到QVTKWidget.h头文件了?Qt设计师怎么办?

猜你喜欢

转载自blog.csdn.net/weixin_36815313/article/details/131693472