Win11 + VS2022 + CMake3. 26.4 编译VTK8.2.0

news2024/11/27 16:47:24

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、下载VTK源码
  • 二、生成解决方案
  • 三、编译安装VTK项目
  • 四、报错
  • 总结


前言

最近由于有项目要用到VTK,所以想重新学一遍VTK。当然要从编译VTK开始。因为我们不打算用Qt,所以就不安装Qt的东西,具体安装环境如标题所示。

请确保你的电脑提前安装了VS2022和CMake3.26.4。


一、下载VTK源码

VTK官网: 下载界面
zip版本是为了windows的。

二、生成解决方案

以下路径全按我本地安装来写,具体需要修改成你们的路径。

  1. 将下载的VTK-8.2.0.zip文件解压到D:\ThirdPartLibs,得到D:\ThirdPartLibs\VTK-8.2.0
  2. 进入到D:\ThirdPartLibs\VTK-8.2.0中;
  3. 新建一个build文件夹,用以存储生成VTK解决方案的地方;
  4. 新建一个prefix文件夹,用以VTK项目生成后创建的bin\include\lib文件。
  5. 以管理员身份运行CMake;
  6. 在 Where is source code 输入 D:\ThirdPartLibs\VTK-8.2.0
  7. 在 Where to build binaries 输入 D:\ThirdPartLibs\VTK-8.2.0\build
  8. 勾选Grouped,为了使得编译中的变量能够有条理被阻止起来;
    在这里插入图片描述
  9. 点击Configure,选择 VS2022,其它不用动(默认是x64),点击确认即可;
  10. 等待编译(大概5分钟左右);
  11. 然后就会冒出一堆红,我这里修改的是:
  • BUILD_EXAMPLE:编译VTK示例;
  • BUILD_SHARED_LIBS:编译动态库;
  • CMAKE_INSTALL_PREFIX:VTK项目生成后创建的bin\include\lib文件路径;
  • VTK_Group_Imaging:编译Imaging模块,包括图像处理、配准等算法。
  1. 设置上述东西后,继续点击Configure;
  2. 顺利的话,就会显示:Configuring done (12.0s);
  3. 继续点击Generate,显示:Generating done (5.0s) 则说明编译成功了。
    在这里插入图片描述

三、编译安装VTK项目

  1. 进入到D:\ThirdPartLibs\VTK-8.2.0\build,找到VTK.sln文件,双击打开;
  2. 将项目配置设置为Debug/x64,然后右键ALL_BUILD项目,点击生成;
  3. 等待20分钟左右,编译成功即可;
  4. 鼠标右键 INSTALL -> 仅用于此项目 -> 仅生成INSTALL(B)
    在这里插入图片描述
    然后我们就能得到_d.dll结尾的debug模式下的VTK;
  5. 将项目配置重新设置为Release/x64,重复步骤2~4;

四、报错

我在用CMake构建VTK解决方案时出现两个错误:

  1. CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
    Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
    解决:安装Doxygen(Doxygen的安装和使用)。
    注意将安装后的doxygen.exe路径加到系统环境变量中。
  2. CMake Error at C:/Program Files/CMake/share/cmake-3.26/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
    Could NOT find Perl (missing: PERL_EXECUTABLE)
    解决:安装Perl(官网下载太慢,直接网盘下载。链接:https://pan.baidu.com/s/1mKoqPAIU_rWZC-9ZrGPApA,提取码:tlxt)。
    注意将安装后的Perl.exe路径加到系统环境变量中。

总结

注意CMake过程中的Error

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/664951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【pytorch】新的windows电脑从头搭建pytorch深度学习环境(完整版+附安装包)

文章目录 新的windows电脑搭建pytorch深度学习环境电脑环境的配置显卡驱动cudacudnn pytorch开发软件的安装minicondavscode pytorch环境的安装conda安装python环境安装pytorch和torchvision 附录1:部分torch、torchvision、torchaudio版本对应关系附录2&#xff1a…

chatgpt赋能python:Python抢票教程:快速抢到心仪的票

Python抢票教程:快速抢到心仪的票 随着互联网的飞速发展,越来越多人选择在网上购买演唱会、球赛、展览等门票,而这些热门票常常被秒杀一空,可怎么办呢?Python帮你解决这个问题! 什么是Python抢票 Python…

JUC之CompletableFuture

文章目录 1 Future接口1.1 FutureTask相关接口关系1.2 Future接口的优缺点1.2.1 优点1.2.2 缺点 2 Complatable Future2.1 CompletionStage2.2 使用案例2.2.1 runAsync2.2.2 supplyAsync2.2.3 join和get的区别2.2.4 CF simple project使用案例2.2.5 CF 常用API2.2.5.1 获取结果…

chatgpt赋能python:Python中将局部变量赋值给全局变量的方法

Python中将局部变量赋值给全局变量的方法 Python是一种灵活、高效的编程语言,许多开发人员喜欢使用这种语言来开发应用程序。在Python中,我们可以定义全局变量和局部变量。全局变量是定义在整个程序中的变量,而局部变量是定义在函数中的变量…

io.netty学习(五)ChannelPipeline

目录 前言 ChannelPipeline 接口 创建 ChannelPipeline ChannelPipeline 事件传输机制 ChannelPipeline 中的 ChannelHandler ChannelHandlerContext 接口 总结 前言 我们在前面的文章中也对ChannelPipeline接口做了初步的介绍。 io.netty学习使用汇总 ChannelPipeli…

chatgpt赋能python:Python把图片转换为图片代码

Python把图片转换为图片代码 在现代计算机应用和互联网中,图像已经成为不可或缺的一部分。然而,我们有时需要将图像转换为代码,以便在我们的应用程序中使用它或通过互联网共享它。Python作为一种流行的编程语言,提供了许多很好的…

如何判断商城源码是否靠谱?

伴随着电子商务的快速发展,商城系统成为了企业发展的重要工具。选择适合自己企业的商城系统源码是一个关键问题,因为它关系到企业未来的发展。那么如何判断商城系统源码是否靠谱呢? 一、核心技术 商城系统的核心技术是网站建设开发&#xff…

JWT入门指南

1、Token认证 随着 Restful API、微服务的兴起,基于 Token 的认证现在已经越来越普遍。基于token的用户认证是一种服务端无状态的认证方式,所谓服务端无状态指的token本身包含登录用户所有的相关数据,而客户端在认证后的每次请求都会携带toke…

利用SQL注入漏洞登录后台

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQ…

A7+linux4.14内核SPI 总线通讯异常问题分析

I.问题现象、 2023年1月18日,A7核心板 升级内核版本时,发现SPI总线无法跟wk2168通讯,打印信息如下:nts_io_init in gpmi-nand 1806000.gpmi-nand: mode:4 ,failed in set feature. [bus:0~select:0]wk2xxx_probe() GENA 0xFF reg…

【动态规划】简单多状态dp问题(2)买卖股票问题

买卖股票问题 文章目录 【动态规划】简单多状态dp问题(2)买卖股票问题1. 最佳买卖股票时机含冷冻期(买卖股票Ⅰ)1.1 题目解析1.2 算法原理1.2.1 状态表示1.2.2 状态机1.2.3 状态转移方程1.2.4 初始化1.2.5 填表顺序1.2.6 返回值 1…

26.利用概率神经网络分类 预测基于PNN的变压器故障诊断(附matlab程序)

1.简述 学习目标: 概率神经网络分类预测 基于PNN的变压器故障诊断 概率神经网络是由Specht博士在1989年首先提出, 是一种与统计信号处理的许多概念有着紧密联系的并行算法。它实质上是一个分类器,根据概率密度函数的无参估计进行贝叶斯决策…

VanillaNet实战:使用VanillaNet实现图像分类(二)

文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整算法设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试热力图可视化展示…

【掌握Spring事务管理】深入理解事务传播机制的秘密

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 1.Spring 中事务的实现方式 1.1 Spring 编程式…

第八十天学习记录:计算机硬件技术基础:80486微处理器的指令系统

80486微处理器的寻址方式 要使微处理器能够完成指令规定的操作,则指令中须包含2种信息,一是执行什么操作;二是该操作所涉及的数据在哪里;三是结果存于何处,故指令通常操作由操作码字段和操作数字组成,其书…

chatgpt赋能python:Python的抹零功能介绍及使用方法

Python的抹零功能介绍及使用方法 Python是一种广泛使用的编程语言,而其抹零功能是在进行浮点数操作时非常有用的。在本文中,我们将介绍python中抹零的概念、使用方法以及注意事项,以帮助大家更好地使用python中的抹零功能。 什么是抹零&…

【MarkDown】CSDN Markdown之时间轴图timeline详解

文章目录 时间轴图一个关于时间轴图的例子语法分组长时间段或事件文本换行时间段和事件文本样式自定义颜色方案主题基础主题森林主题黑色主题默认主题中性主题 与库或网站集成 时间轴图 时间轴图:现在这是一个实验性的图表。语法和属性可能会在未来版本中更改。除了…

渣土车未苫盖识别系统 yolov8

渣土车未苫盖识别系统通过yolov8python,渣土车未苫盖识别系统对经过的渣土车进行实时监测,当检测到有渣土车未能及时苫盖时,将自动发出警报提示现场管理人员及时采取措施。Yolo模型采用预定义预测区域的方法来完成目标检测,具体而…

chatgpt赋能python:Python抽人代码:如何优化你的抽奖过程?

Python抽人代码:如何优化你的抽奖过程? 简介 抽奖是在网站上进行的一项非常常见的活动。随着技术的发展,抽奖活动的方式也越来越多样化。在这些活动中,人们喜欢使用抽人软件或代码来提高效率并确保随机性。这在Python中是相当简…

chatgpt赋能python:Python查找第二大的数——从入门到实战

Python查找第二大的数——从入门到实战 Python是一门非常强大的编程语言,不仅支持基本的编程技巧,也支持各种复杂的算法和数据结构。本篇文章将介绍如何通过Python编写一个程序,来实现查找数组中第二大的数。 环境准备 想要运行这个程序&a…