欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > VTK-8.2.0源码编译(Cmake+VS2022+Qt5.12.12)

VTK-8.2.0源码编译(Cmake+VS2022+Qt5.12.12)

2025/4/26 1:38:26 来源:https://blog.csdn.net/weixin_42964413/article/details/147409614  浏览:    关键词:VTK-8.2.0源码编译(Cmake+VS2022+Qt5.12.12)

参考:
安装VTK
详细图文讲解CMake编译VTK,包含详细的编译环境版本
Visual Studio 2022 配置VTK9.3.0
VTK-8.2.0源码编译和初步使用(Cmake+VS2015+Qt5.14.2)

文章目录

  • 下载
  • 编译
    • 编译环境介绍
    • 配置CMake信息
      • BUILD_SHARED_LIBS控制生成的库是动态链接库(共享库)还是静态库
      • VTK_GROUP_ENABLE_QT or VTK_Group_Qt 是否启用对 Qt 的支持
      • BUILD_EXAMPLES否编译 VTK 自带的示例代码
    • VStudio编译
    • CMakeList.txt解压编译

下载

VTK下载链接:https://vtk.org/download/
感觉windows下zip更方便通用一些,新版本没有zip压缩包,所以下的如图所示版本VTK-8.2.0.zip在这里插入图片描述

编译

编译环境介绍

工具名称版本下载地址
系统环境win 10-
CMakecmake-3.23.0-rc5-windows-x86_64.msihttps://github.com/Kitware/CMake/releases/tag/v3.23.0-rc5
VTKVTK-8.2.0.ziphttps://vtk.org/download/
VIsual Studio2022https://visualstudio.microsoft.com/downloads/

配置CMake信息

创建文件夹
在这里插入图片描述

文件夹存放文件
sourceVTK 源码的解压后的文件
buildVS 生成的 VTK 库,如:include、lib、dll
vtk_slnVTK 源码的工程目录

选择vtk源码和生成vtk工程文件的目录。
在这里插入图片描述
我把下载之后解压的源码拷贝到上图那个路径下了
在这里插入图片描述
选择自己vs编译平台的版本信息后,点击左下方的Configure。
在这里插入图片描述
Configure等待中。
在这里插入图片描述

BUILD_SHARED_LIBS控制生成的库是动态链接库(共享库)还是静态库

设置为ON:当BUILD_SHARED_LIBS 设置为ON时,VTK会编译成动态链接库(DLL,动态共享库)。这种情况下,生成的库文件在运行时需要被加载到程序中,程序本身不包含库的代码。

设置为OFF:当BUILD_SHARED_LIBS 设置为OFF时,VTK会编译成静态库(.lib)。静态库会直接嵌入到最终的可执行文件中,因此在运行时不需要额外的库文件。

默认情况下,BUILD_SHARED_LIBS 通常是开启的。

在search中搜索BUILD_SHARED_LIBS,把搜索结果的Value勾选上。
在这里插入图片描述

VTK_GROUP_ENABLE_QT or VTK_Group_Qt 是否启用对 Qt 的支持

作用

  • 当设置为 YES 时,VTK 会编译与 Qt 相关的模块,例如 vtkGUISupportQt、vtkViewsQt 等。这些模块允许在 Qt 应用程序中使用 VTK 的可视化功能,例如将 VTK 的渲染窗口嵌入到 Qt 界面中。
  • 如果设置为 NO,则不会编译这些与 Qt 相关的模块。

配置方法

  • 在使用 CMake 配置 VTK 项目时,找到 VTK_GROUP_ENABLE_QT 选项,并将其值设置为 YES。
  • 如果系统中安装了多个版本的 Qt,还需要正确设置 Qt5_DIR 或 Qt6_DIR,以指定要使用的 Qt 版本的路径。
  • 在某些情况下,还需要确保系统环境变量中包含 Qt 的安装路径。

注意事项

  • 启用 VTK_GROUP_ENABLE_QT 后,可能会出现与 Qt 版本不兼容的问题,因此需要确保安装的 Qt 版本与 VTK 兼容。
  • 如果在配置过程中出现错误,可以检查 Qt 的路径是否正确设置,以及是否有其他与 Qt 相关的配置项需要调整。

继续在search中搜索VTK_GROUP_ENABLE_QT,把Value值设置为 “YES”。
我这个版本木有啊
在这里插入图片描述
有的有的,需要搜索VTK_Group_Qt,可能我环境变量或者cmake配置里已经包含了qt路径,再次configure+generate直接成功
在这里插入图片描述

BUILD_EXAMPLES否编译 VTK 自带的示例代码

作用

  • 默认值OFF
  • 开启时:如果设置为 ON,VTK 的示例代码将被编译,并作为测试添加到 VTK 的测试套件中。这可以帮助开发者快速了解 VTK 的使用方法,但也可能会增加额外的编译时间。
  • 关闭时:不编译示例代码,可以缩短编译时间。

配置方法
在使用 CMake 配置 VTK 项目时,找到 BUILD_EXAMPLES 选项,并将其值设置为 ONOFF。例如:

  • 如果需要编译示例代码,勾选该选项。
  • 如果不需要编译示例代码,保持默认值即可。

注意事项

  • 如果选择编译示例代码,建议在编译前确保系统中已安装必要的依赖项,以避免编译过程中出现错误。
  • 编译示例代码可能会增加编译时间,因此可以根据实际需求选择是否启用。

在这里插入图片描述

在search中搜索CMAKE_INSTALL_PREFIX,把Value值设置为最后在vtk_sln中生成include、dll、lib的位置。这里以上述位置为例是 “…\vtk\build”
在这里插入图片描述
设置完后,点击左下角"Configure"一下。 等待Configure中。
在这里插入图片描述
现在第二次Configure之后没有红色了。那直接点Generate。
在这里插入图片描述
完成
在这里插入图片描述

VStudio编译

只编译release试试
在这里插入图片描述
加了qt之后再次生成了一次,全部成功
在这里插入图片描述
选择项目INSTALL,生成该项目,得到vtk在Release模式下的lib和dll文件。
在这里插入图片描述
非常快就编译成功
在这里插入图片描述

CMakeList.txt解压编译

# https://vtk.org/download/
include(ExternalProject)set(VTK_NAME vtk-8.2.0)set(VTK_ROOT          ${CMAKE_BINARY_DIR}/thirdparty/${VTK_NAME})
set(VTK_LIB_DIR       ${VTK_ROOT}/lib)
set(VTK_INCLUDE_DIR   ${VTK_ROOT}/include)set(VTK_CONFIGURE     cmake -B ${VTK_ROOT}/src/${VTK_NAME}-build -G "${CMAKE_GENERATOR}" -A x64 -S ${VTK_ROOT}/src/${VTK_NAME} -DCMAKE_INSTALL_PREFIX=${VTK_ROOT} -DVTK_Group_Qt=ON)
set(VTK_MAKE          cmake --build ${VTK_ROOT}/src/${VTK_NAME}-build -j --config ${CMAKE_BUILD_TYPE})
set(VTK_INSTALL       cmake --build ${VTK_ROOT}/src/${VTK_NAME}-build --target install --config ${CMAKE_BUILD_TYPE})# 查找7z解压工具
find_program(7Z_EXECUTABLE NAMES 7z REQUIRED)
ExternalProject_Add(${VTK_NAME}DOWNLOAD_NAME VTK-8.2.0.zipDOWNLOAD_COMMAND ${7Z_EXECUTABLE} x ${CMAKE_CURRENT_LIST_DIR}/VTK-8.2.0.zip -aoa -o${VTK_ROOT}/srcPREFIX ${VTK_ROOT}CONFIGURE_COMMAND ${VTK_CONFIGURE}BUILD_COMMAND ${VTK_MAKE}INSTALL_COMMAND ${VTK_INSTALL}
)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词