【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 版本环境
  • 2 构建步骤
    • 1 准备文件夹结构
    • 2 运行 CMake
  • 这里的图需要替换
  • 图需要替换
    • 3 在 Visual Studio 中构建
  • 3 测试是否成功
    • 1 新建工程
    • 2 工程配置
    • 3 运行结果
  • 附录
  • Ref.

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 来保存所有需要的文件。

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第1张图片

2 运行 CMake

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

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第2张图片

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

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

这里的图需要替换

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第3张图片

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

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第4张图片

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第5张图片

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

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

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第6张图片
配置完系统环境变量后,然后重启 CMake-GUI,再次 Configure,即可自动搜索到 Qt。
之后 Generate,这将填充 VTK-build 子文件夹。Open Project 就进入到 Visual Studio 工程里了。

图需要替换

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第7张图片

3 在 Visual Studio 中构建

选择 Release 和 X64。
然后选择右键 ALL_BUILD -> 生成。

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第8张图片

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第9张图片

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第10张图片

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第11张图片

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第12张图片

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第13张图片

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

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

3 测试是否成功

1 新建工程

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

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

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第14张图片

2 工程配置

然后添加 Qt OpenGLWidgets。

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第15张图片

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

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第16张图片

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第17张图片
同时再截图一下自己的 Qt 版本。有时候也会因为版本问题会出现各种错误。

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第18张图片

3 运行结果

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第19张图片

附录

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

【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第20张图片
【Visual Studio】在 Windows 上使用 Visual Studio 配合 Qt 构建 VTK_第21张图片


Ref.

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

QVTKOpenGLNativeWidget在Qt中的用法

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

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

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


VTK 配置.md

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

你可能感兴趣的:(Visual,Studio,windows,qt)