001-Qt&Vtk-编译

Posted DreamLife.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了001-Qt&Vtk-编译相关的知识,希望对你有一定的参考价值。

titlle bar

欢迎来到我的博客,希望这篇文章对你有所帮助,如果觉得不错,请点赞搜藏哈。

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


点赞

以上是关于001-Qt&Vtk-编译的主要内容,如果未能解决你的问题,请参考以下文章

win10环境下VTK7.1的编译和Qt调用VTK的详细教程二(VS2013编译支持Qt的VTK库)

CMake编译VTK,ITK总是出错

VTK+OpenCV+QT+Mingw编译记录

Cmake动态编译VTK库(QVtkwidget)

VS2013编译VTK7.1.1

Ubuntu 16.04 编译VTK7.1