Qt&Vtk-001-编译

本文详细记录了在Windows10环境下,使用VS2015、Qt5.7.1和CMake3.6.3编译VTK8.2.0源码的步骤,包括系统环境配置、下载源码、CMake配置、VS编译及文件整理。适合初学者参考。
摘要由CSDN通过智能技术生成

头图

Qt&Vtk源码编译

本文主要记录了博主在尝试编译VTK源码中遇到的问题,同时也感谢前辈的无私分享,使我们可以跟着前辈的步伐学习进步。

参考链接:

https://www.cnblogs.com/gispathfinder/p/12153170.html

https://blog.csdn.net/qq_35054151/article/details/113685884

https://www.pianshen.com/article/21421044484/

1 平台环境

1.1 系统环境

系统为Windows 10 21H1,如下:

image-20210617102337584

系统安装事件比较长,博主7号进入新个公司,被电脑折磨了3天,一度怀疑是不是自己连系统都不会安装了,具体表现就是这点掉无辜蓝屏,查看蓝屏代码就是有驱动问题,但是我什么都没有安装,最终拆机把内存,发现是TM两个内存不兼容,电脑供货商在给你电脑内存扩容的时候,查了一个淘宝的搜不得杂牌子,这里祝这家电脑供货商早点倒闭,别再出来祸害人了。9号更换了两条三星内存,装系统开始新的职业生涯。

1.2 VS版本

VS版本为2015 update3,如下:

image-20210617102524088

其实本来开始是想把公司的电脑环境安装成和家里一样的环境,使用VS2017的,但是公司的上一代版本开发环境用的是VS2015,后期可能需要填前辈们给挖好的坑,这里还是安装了VS2015 Updata3 版本,同时也安装了VS2017,后期新版本可以尝试使用VS2017。

1.3 Qt版本

Qt版本为5.7.1,如下:

image-20210617102641589

同理,Qt这种奇葩版本也是前辈留下的,而且前辈们使用的都是绝对路劲和PATH,别说换Qt版本了,就连安装路径都不能改变。每天看着测试小姐姐不停的配环境,也是好玩,这工作量,哈哈哈。

1.4 CMake版本

Cmake版本 3.6.3,如下:

image-20210617105238160

CMake基本算是第一次接触了,之前都是无脑Qt写程序就可以的,基本用的库也是各个硬件厂家编译好的,直接调用就可以了。在后期的使用中,我个人感觉CMake的版本对整个工程的影响不是很大,只是在MITK编译的时候,有前辈们的文章提到了后面的CMake对某些规则做了加强,不过可以剧透一下,后面我MITK也没有编译程工,不论是2018版本,还是2021版本,均失败。如下:(极度不开心)

在这里插入图片描述

1.5 系统环境变量

系统环境变量如下:

image-20210617105405478

环境变量目前不知道是否是VTK编译有影响,这里都是为了运行上一个版本前辈们编写的代码准备的。

2 获取源代码

2.1 直接官网下载:https://vtk.org/

在这里插入图片描述

我这里是一直可以登录的,不知道有的小伙伴是不是登录这个网站有困难,需要登录类似网站的,可以找我。这里我没有选择最新版本的9.0.1,选择的是8.2.0 不要问为什么,因为我感觉9.0.1 可能还是不是最终版本,另外就是火灵大神的小红书用的还是5.10呢,选8.2.0都感觉有好多模块接口可能和小红书上的不一致,增加学习成本。再低又担心后期在实际开发中需要用到新的模块内容,所以就选择了8.2.0。

image-20210617110102381

剩下就是等着下载了,下载完成后解压就可以。

image-20210617110146754

2.2 网盘分流

网盘分流主要针对某些无法登陆官网下载源码的小伙伴。

链接:https://pan.baidu.com/s/1CTmddXZO55uM6IzQCvpiSQ 提取码:si6b

3 在本地建立文件夹

3.1 建立源码、编译、生成文件夹

在本地建立文件夹,分别用来存放源码、编译文件、和生成库文件夹。如下,我这里没有建源码,一会解压的时候自动创建了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1iSfnEaH-1625888388051)(https://raw.githubusercontent.com/DreamLife-Jianwei/CSDNResources/master/20210617110359.png)]

Bin文件就是对应CMake中的CMAKE_INSTALL_PREFIX,后面会看到,当我们在VS中完成编译后,编译INSTALL项目后,就会把二次开发相关的头文件、Lib库、Dll库、插件等整理到这个文件夹中

Build文件夹就是存放我们CMake生成的可以用VS打开的工程文件夹。

在加压完成后会多一个VTK-8.2.0文件,存放源码文件

3.2 解压源代码

解压源码,拷贝的这里就额可以了,如下,同时完成了3.1中缺少的建立源文件,这里就吧3.1中的缺少的源码文件夹补上了。

image-20210617110542298

4 CMake配置

从这里开始就是要跟着前辈们脚步走了,CMake我是真的不擅长。先跟着前辈们的步伐走起来,孰能生巧吗,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9xthIUBy-1625888388053)(https://raw.githubusercontent.com/DreamLife-Jianwei/CSDNResources/master/20210710111915.jpg)]

4.1第一次Config

在第一次Config前,需要我们配置好源码的路径,编译路径,基本就可以了,还可以有更多的选项,

Grouped:按照类型分组显示

Advanced:可以看到更多的选项
在这里插入图片描述

4.1.1 选择编译器

在第一次Config的时候需要我们配置我们要用的编译器,也就是后面我们准备用什么编译器来编译这些源码,一般有32/64为选择。自己根据需要选择一下就可以,这个界面在后面的CMake版本中有微调,需要注意,在后面的版本中,默认为32为,64为需要单独选择一下。

这里我选择用的的VS2015 64位版本。

image-20210617112833582

配置完成后就等待第一次Config就可以,第一次可能有点慢,不要着急。

image-20210617112854351

4.2 再次Config

耐心等待完成,第一次会见红,不要担心,接着Config就好。

其实在红的时候也是可以配置了,我第一次配置的时候不敢乱来,和面熟悉了,才发现,红色配置也没有问题,但是最后一定要保证没有红色。
在这里插入图片描述

4.3 配置

按照下图进行配置

image-20210617113440960

image-20210617113553065

image-20210617113634347

image-20210617113720229

4.4 再次 COnfig

在这里插入图片描述

image-20210617113900410

4.5 生成

image-20210617113943320

到这里Cmake就告一段落了,后面开始使用VS编译

5 编译

5.1 打开项目

这里需要注意,不要到Build不目录下直接点击VTK.sln进行编译,选着VS来打开工程。

在这里插入图片描述

image-20210617114303029

image-20210617114336783

耐性等待一会读条。

5.2 选择 Release

选择Release 64位

image-20210617114405948

5.3 生成

在这里插入图片描述

image-20210617114509716

耐心等待

5.4 完成

image-20210617115804794

6 提取文件

把我们二次开发需要的文件整理出来,直接选着Install,生成即可,如下图

image-20210617120306199

image-20210617120505293
在这里插入图片描述

这些就是后面我们要用的文件了。

至此编译完成。

7 懒人专属

这里有基于VS5015 64位 Release 编译好的文件,只需要5积分就可以获取到。

VTK-8.2.0源码+可执行文件+VS2015编译工程.rar

https://download.csdn.net/download/z609932088/20104608?spm=1001.2014.3001.5501

8 源码

当然还有老铁就是勤俭持家,5积分也不愿意花,但是也懒得编译,当然这样的好事也有,可以来这里有

自取:https://github.com/DreamLife-Jianwei/Qt-Vtk

在这里插入图片描述
针对整个项目,下面也有详细的介绍,老铁们自取。


博客签名2021


点赞

### 回答1: 编译好的带QtVTK库是一种可用于开发和创建基于可视化技术的软件和应用程序的库。VTK是一种跨平台的可视化工具,主要用于医学、科学和工程领域,它提供了丰富的可视化和图形处理功能。而Qt是一个跨平台的应用程序框架,常用于开发图形界面。 编译好的带QtVTK库,可以使得在使用VTK库的过程中,开发者可以使用Qt的许多功能,并实现更加便捷的用户界面。例如,可以使用Qt的QMainWindow或QWidget来包装VTK的OpenGL窗口;还可以使用QtQt Designer来构建用户界面模板,以便灵活地进行定制和修改。 此外,编译好的带QtVTK库还具有跨平台的特点,可以在不同的操作系统和平台上运行,并提供了丰富的文档和示例,方便开发者进行学习和使用。 总之,编译好的带QtVTK库是一种方便、实用、可靠的可视化工具库,可以使得开发者可以更加专注于业务逻辑和实现细节,从而更加高效地开发出功能强大的可视化应用程序。 ### 回答2: 带qtvtk库是一种将vtkqt框架结合的编译好的库,它能够让用户在qt平台下更加方便地使用vtk进行3D图像处理和可视化。该库中包含了vtk的核心算法和qt所需的相关库文件,用户只需将该库文件链接到自己的工程中即可轻松调用vtkqt进行交互。 使用带qtvtk库,用户可以通过qt提供的界面操作控制vtk的数据输入、处理、显示等操作,大大简化了在qt平台下使用vtk的流程和难度。此外,qt的界面美观易用性也为用户提供了更好的交互体验。 编译好的带qtvtk库可以在各种平台上使用,如Windows、Mac和Linux等操作系统。用户可以根据自己的需求选择对应的库文件进行下载和安装,也可以根据自己的需要进行自定义编译。 总之,带qtvtk库为用户提供了一种便捷的途径,能够快速、简单地实现3D图像处理和可视化,是一种非常有价值的工具。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DreamLife.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值