文章目录

  • Qt&Vtk源码编译
    • 参考链接:
    • 1 平台环境
      • 1.1 系统环境
      • 1.2 VS版本
      • 1.3 Qt版本
      • 1.4 CMake版本
      • 1.5 系统环境变量
    • 2 获取源代码
      • 2.1 直接官网下载:https://vtk.org/
      • 2.2 网盘分流
    • 3 在本地建立文件夹
      • 3.1 建立源码、编译、生成文件夹
      • 3.2 解压源代码
    • 4 CMake配置
      • 4.1第一次Config
        • 4.1.1 选择编译器
      • 4.2 再次Config
      • 4.3 配置
      • 4.4 再次 COnfig
      • 4.5 生成
    • 5 编译
      • 5.1 打开项目
      • 5.2 选择 Release
      • 5.3 生成
      • 5.4 完成
    • 6 提取文件
    • 7 懒人专属
    • 8 源码

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,如下:

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

1.2 VS版本

VS版本为2015 update3,如下:

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

1.3 Qt版本

Qt版本为5.7.1,如下:

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

1.4 CMake版本

Cmake版本 3.6.3,如下:

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

1.5 系统环境变量

系统环境变量如下:

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

2 获取源代码

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

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

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

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中的缺少的源码文件夹补上了。

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位版本。

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

4.2 再次Config

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

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

4.3 配置

按照下图进行配置

4.4 再次 COnfig

4.5 生成

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

5 编译

5.1 打开项目

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

耐性等待一会读条。

5.2 选择 Release

选择Release 64位

5.3 生成

耐心等待

5.4 完成

6 提取文件

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


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

至此编译完成。

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


针对整个项目,下面也有详细的介绍,老铁们自取。



QtVtk-001-编译相关推荐

  1. PELU激活函数的tensorflow实现(一) Parametric Exponential Linear Unit

    PELU激活函数实现 一.PELU简介 二.PELU实现 1.PELU代码实现 2.测试PELU实现是否正确 3.实现PELU对 α\alphaα 求导 4.实现PELU对 β\betaβ 求导 三. ...

  2. 001原始编译全志r6平台tinav3.0.2系统

    001原始编译全志r6平台tinav3.0.2系统 2018/6/8 11:32 版本:V1.0 开发板:R6 SDK:tina v3.0.2 1.01原始编译全志r16平台tinav3.0系统: r ...

  3. [C#反编译教程]001.Reflector.NET反编译工具 v8.5绿色版+注册机+注册教程

    截图 下载地址 Reflector.NET反编译工具 v8.5绿色版+注册机 下载地址:http://pan.baidu.com/s/1mgN1Cpi 密码:mx19 简介 .NET Reflecto ...

  4. 《编译原理》学习笔记 ·001【第一章:总论】

    注:前言.目录见 https://blog.csdn.net/qq_44220418/article/details/108428971 文章目录 一.编译程序 1.编译程序 2.编译基础设施 3.编 ...

  5. 001. Nginx场景,优点,组成部分和编译

    目录 一: Nginx三个重要的使用场景 二: Nginx的优点 三:Nginx文件的组成部分 四:编译Nginx 一: Nginx三个重要的使用场景 静态资源服务 疑问:为什么需要静态资源服务? 答 ...

  6. 使用JacORB编译idl文件生成依赖的开发jar---Corba北向接口开发001

    1.首先安装JacORB,JacOrb是用来通过把厂商提供的idl接口,编译成java接口,然后通过java接口 可以调用厂商的具体的功能以及服务,来获取厂商数据的工具,这个有点类似于,通过restf ...

  7. vim 系列文章 - 001 vim及neovim编译安装(文末有福利)

    背景介绍 近期在使用vscode时远程连接服务器时经常有问题:使用起来十分难受,所以考虑转到vim 本着有最新用最新的原则,我们使用最新版本:目前vim和neovim都出到9版本了: 不过centos ...

  8. rpm、yum、编译安装轻松管理centos7程序包

    程序包管理器之RPM 一.rpm是什么 RPM 是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的.RPM ...

  9. SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...

  10. android 修改编译内核源码 对抗反调试

    0×00  写在前面 攻防对立.程序调试与反调试之间的对抗是一个永恒的主题.在安卓逆向工程实践中,通过修改和编译安卓内核源码来对抗反调试是一种常见的方法.但网上关于此类的资料比较少,且都是基于AOSP ...

最新文章

  1. 蓝色起源载人火箭7月首飞,贝索斯即将实现儿时愿望
  2. 运维日常:群发邮件营销平台--EDM
  3. ubuntu 启用root 并使用ssh登陆
  4. 微软职位内部推荐-SW Engineer II for Azure Network
  5. TensorFlow2简单入门-单词嵌入向量
  6. Extjs 登录界面源码
  7. 个人成长:2021年终记
  8. 第一人称视角获得运动方向和视角的夹角
  9. 读完《云原生架构白皮书》,我们来谈谈开放应用模型(OAM)
  10. 通达信缠论买卖点公式_缠论买卖点阐述及选股思路
  11. 【Kafka】Could not find or load main class kafka.tools.ConsumerOffsetChecker
  12. Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax 总结
  13. iOS13 暗黑模式(Dark Mode)适配之OC版
  14. CSDN企业账户用户手册操作文档
  15. 自媒体文章原创度检测,提高文章通过率!
  16. JavaWeb后端开发框架SSM+前端框架Layui简介
  17. aws php sns,使用 AWS SNS 发送通知到 HTTP 终端
  18. 前端食堂技术周刊第 40 期:HTTP/3、WebContainers 登陆 Firefox、Remix Conf 2022、VueConf US 2022
  19. 全民社会保障月供制度的客观理由
  20. java拼图游戏(带文档资料)

热门文章

  1. APP——内存测试——参考01
  2. 深度硬核,思维导图拯救拖延症患者!
  3. 论坛报名 | 群体智能
  4. MySQL数据库的管理工具
  5. css中100vh 加减运算
  6. java爬虫(本地爬虫和网络爬虫)
  7. linux 搭建Discuz论坛教程-个人实践笔记
  8. 新概念二册 Lesson 6 Percy Buttons泊西·巴顿斯 (冠词)
  9. 计算机系统基础崔丽群答案,2017届部分优秀教师风采展示——崔丽群
  10. 550+集Java学习全套视频课程,新手入门收藏