使用 Cmake 对 VTK-9.3.0 进行编译

使用 Cmake 对 VTK-9.3.0 进行编译

使用 Cmake 对 VTK-9.3.0 进行编译

下载地址:Download | VTK,选择最新版(9.3.0)的Source——VTK-9.3.0.tar.gz进行下载。

解压缩后,在里面新建一个Build空文件夹。

打开Cmake,设置源代码目录和编译文件目录(Build空文件夹)。

点击Configure,编译器选择VS2022,编译平台选x64,点击Finish。

Configure完成后,确认以下选项:

  1. 勾选VTK_DEBUG_LEAKS,在DEBUG模式下对VTK对象做内存泄漏的检查:

  2. 搜索Qt,全部设置为YES,设置后将支持这些内容。

  3. 设置 VTK_QT_VERSION 为自己的 Qt 版本,我的为 6。

设置完成后,再次点击Configure,中间会报一些路径缺失的错误,去C:\Qt\Qt6.2.3\6.2.3\msvc2019_64\lib\cmake文件夹把对应路径补上,显示Configuring done (29.6s)。点击Generate,显示Generating done (26.8s)。

此时,Build文件夹下会生成一个VTK.sln的VS工程,用VS2022打开,右键ALL_BUILD,点击生成:

在这里插入图片描述

上面会花二十多分钟的时间,好了以后再右键INSTALL,点击生成,这次只花几分钟的时间。

编译成功。

在这里插入图片描述

参考链接

  1. Visual Studio 2022 配置VTK9.3.0

  2. 详细图文讲解CMake编译VTK,包含详细的编译环境版本

  3. https://blog.csdn.net/mjmald/article/details/133828390

  4. https://blog.csdn.net/ProgramNovice/article/details/136670324

### 解决CMake编译VTK过程中的CMake文件错误 当遇到CMake编译VTK时出现的CMake文件错误,通常可以通过以下几个方面进行排查和修正。 #### 1. 确认CMakeLists.txt 文件无误 确保`CMakeLists.txt`文件编写正确。此文件作为CMake的配置文件,用于指导工具生成构建脚本[^2]。任何语法上的失误都会导致配置失败。建议仔细检查该文件内的每一项指令是否按照官方文档书写,并确认所有必要的宏定义都已加入。 #### 2. 设置合适的CMake版本 对于特定版本的VTK(如VTK-9.3.0),可能需要匹配相应最低支持的CMake版本才能顺利完成编译工作[^3]。如果使用CMake版本过低,则可能会因为缺少某些特性而引发错误;反之亦然,过高也可能存在兼容性问题。因此推荐使用与目标VTK相适应的新版CMake来进行尝试[^1]。 #### 3. 正确指定依赖关系 在`CMakeLists.txt`中通过`find_package()`函数来声明对外部库的需求是非常重要的一步操作[^5]。例如针对VTK而言: ```cmake find_package(VTK REQUIRED) include(${VTK_USE_FILE}) ``` 这行代码的作用在于让CMake去寻找已经安装好的VTK组件并将其引入当前项目当中。需要注意的是,只有当系统能够成功定位到这些外部资源的位置之后,上述语句才会生效。所以在此之前应该先验证好各个第三方包确实已经被妥善安置到了合适的地方,并且其路径已被添加进了系统的环境变量里。 #### 4. 调整编译选项 有时为了适配不同的平台或是满足特殊需求,还需要调整一些额外的参数设置。比如开启或关闭某些功能模块、改变输出目录等等。这类自定义化的设定往往也会影响最终能否顺利地完成整个编译流程。可以查阅相关资料了解具体有哪些可选开关可供调节以及它们各自代表什么意思。 #### 5. 参考权威教程学习 面对复杂多变的情况,最可靠的办法莫过于参照那些经过实践检验过的指南材料逐步摸索前进。网络上存在着大量关于如何利用CMake搭建开发环境的文章分享,其中不乏许多高质量的内容值得借鉴参考[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值