VTK7.1.1+VS2017+QT的安装与配置

2023-11-19

本文转载自(https://blog.csdn.net/hebbely/article/details/81067505)

简述:

为了实现RealSense的PCL点云显示,需要VTK支持。由于整个平台在Qt环境实现,VTK编译为Qt插件, QVTKWidget是Qt对于VTK的一个封装。
VTK,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。VTK是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,TCL/TK和Python各种语言使用VTK。通过VTK将科学实验数据如建筑学、气象学、医学、生物学或者航空航天学,对体、面、光源等等的逼真渲染,从而帮助人们理解那些采取错综复杂而又往往规模庞大的数字呈现形式的科学概念或结果。
系统环境:
Windows系统:Windows 7 64bit
VS 2015 :  Visual Studio Enterprise 2015 (x86 and x64) - DVD (Chinese-Simplified)
Qt 5.7.0:qt-opensource-windows-x86-msvc2015-5.7.0.exe
VTK 7.1.1:VTK-7.1.1.zipVTKData-7.1.1.zip
CMake:cmake-3.12.0-rc3-win32-x86.zip

这里编译的是32bit的。

 

1、系统环境

1.1 VS 2015安装


1>到官网https://msdn.itellyou.cn/下载VS2015,在这里下载的是Visual Studio Enterprise 2015 (x86 and x64) - DVD (Chinese-Simplified) ,下载完成后的文件为cn_visual_studio_enterprise_2015_x86_x64_dvd_6846222.iso 。

2>解压cn_visual_studio_enterprise_2015_x86_x64_dvd_6846222.iso,双击解压文件夹中的vs_enterprise.exe,开始安装。

3>在这里,安装路径为H:\Microsoft Visual Studio 14.0\VS2015,安装类型选择为自定义安装:

4>至此,便安装完成(有些工具并未正确安装,但不影响我们现在所需要使用的功能),重启启动即可。

5>安装完vs2015 企业版后,在菜单帮助---注册产品,显示产品试用期30天,怎么破解呢?

① 破解密钥:

企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2

② 破解步骤:

A. 安装vs2015

B. 打开菜单栏,找到 帮助---注册产品

C. 打开注册产品菜单,显示试用期30天

D. 根据安装版本,复制不同的秘钥

E. 本人是企业版,复制企业版秘钥

F.破解成功


1.2 Qt 5.7.0 msvc2015安装


1>到官网下载Qt5.7.0,在这里下载的是 qt-opensource-windows-x86-msvc2015-5.7.0.exe

2>下载完成后,双击打开,按安装向导完成安装即可(可勾选所有组件),其中,安装路径为:H:\Qt\Qt5.7.0,则其msvc2015路径为H:\Qt\Qt5.7.0\5.7\msvc2015 。


1.3 VTK 7.1.1下载

1>到VTK官网下载VTK源码及Data,这里下载的是VTK-7.1.1.zipVTKData-7.1.1.zip

2>解压

选择解压到当前目录,两个文件解压后会自动拼合在VTK-7.1.1文件夹。

VTK解压目录:H:\VTK\VTK-7.1.1

VTK Build目录:H:\VTK\VTK-7.1.1\build

VTK安装目录(存放编译好的lib,include等):H:\VTK\VTK install


1.4 CMake 3.12.0下载

 

1>到CMake官网下载CMake,这里下载的是cmake-3.12.0-rc3-win32-x86.zip

2>解压

选择解压到当前目录即可,双击“H:\cmake-3.12.0-rc3-win32-x86\bin”中的cmake-gui.exe可启动CMake Gui界面。

2、CMake配置VTK for Qt 编译环境

2.1 启动CMake 

指定源码目录和编译目录,点击Configure 。

2.2 指定 VS 版本

32位的选择 Visual Studio 14 2015,64位的选择 Visual Studio 14 2015 Win64。点击finish就,等待配置完成 。

2.3 配置编译选项(1)

 

1> BUILD选项

勾选BUILD_EXAMPLES,BUILD_SHADRED_LIBS,BUILD_TESTING

注意:

不建议选择DOCUMENTATION,这需要先安装doxygen。

不建议去掉TESTING,这会导致在后期VS编译阶段报错,需要修改头文件。

2> VTK安装目录

选择VTK安装目录,即存放include,lib,dll(bin)等编译结果的目录。

3> VTK_Group_Qt

勾选VTK_Group_Qt,即设置编译的目标环境为Qt 。

4> 完成上述三个设置后,点击Configure 。

 

2.4配置编译选项(2)

 

1> 第1次配置完成后,设置QT_QMAKE_EXECUTABLE和VKT_QT_VERSION选项 。

将QT_QMAKE_EXECUTABLE选项设置为  H:\Qt\Qt5.7.0\5.7\msvc2015\bin\qmake.exe 。
将VKT_QT_VERSION选项设置为 5 。

2> 再次点击Configure继续 。

 

2.5 配置编译选项(3)

 

1> 第2次配置完成后,设置Qt5Core_DIR、Qt5Gui_DIR、Qt5Sql_DIR等选项 。

将Qt5Core_DIR选项设置为  H:/Qt/Qt5.7.0/5.7/msvc2015/lib/cmake/Qt5Core
将Qt5Gui_DIR选项设置为  H:/Qt/Qt5.7.0/5.7/msvc2015/lib/cmake/Qt5Gui
将Qt5Sql_DIR选项设置为  H:/Qt/Qt5.7.0/5.7/msvc2015/lib/cmake/Qt5Sql
将Qt5UiPlugin_DIR选项设置为  H:/Qt/Qt5.7.0/5.7/msvc2015/lib/cmake/Qt5UiPlugin
将Qt5Widgets_DIR选项设置为  H:/Qt/Qt5.7.0/5.7/msvc2015/lib/cmake/Qt5Widgets
将Qt5_DIR选项设置为 H:/Qt/Qt5.7.0/5.7/msvc2015/lib/cmake/Qt5

2> 再次点击Configure继续 。

2.6 Generate 工程

1> 配置成功后,出现Configure done提示。点击Generate生成工程 。

2> Generate完成后,会出现Generate done 提示 。

2.7 启动VS 2015 开始编译

1> 出现Generating done提示表示VS2015工程已经生成成功。点击上图中的Open Project,VS2015会启动,并打开工程。

 

3、在VS 2015 中编译VTK工程

3.1 编译

1> 打开工程后,默认启动项为ALL_BUILD,直接选择生成即可。

2> Debug和Release版本都需要生成,所以要执行两次编译。

请耐心等待......直至编译成功。

3.2 安装

选择“INSTALL” ,右键点击“生成” 。

3.3 编译结果

1> VS 2015的编译结果主要包括4个部分:

① include :不区分release和debug版本

② lib :不区分版本

③ dll :根据输入配置选择debug和release版本

④ plugin dll :只有release版本可用

2> 编译结果存放位置

① .h(include)和.lib(lib)文件存放在“H:\VTK\VTK install”目录。请不要使用“H:\VTK\VTK install”下的dll文件,因为没有区分Release和Debug。

② .dll文件被放在“H:\VTK\VTK-7.1.1\build\bin”路径下

 

3> 测试

编译成功后可测试一下。编译成功后的dll和exe在“H:\VTK\VTK-7.1.1\build\bin\Release\”目录。

将Qt目录下的Qt5Gui.dll、Qt5Core.dll、Qt5Widgets.dll复制到该目录或debug目录。(也可配置环境变量)

运行该目录下的QtVTKRenderWindows.exe,看到如图所示的exe启动即编译成功。

 

4、Qt Designer下安装QVTKWidget插件

4.1 安装

将“H:\VTK\VTK-7.1.1\build\bin\Release\QVTKWidgetPlugin.dll”复制到“H:\Qt\Qt5.7.0\5.7\msvc2015\plugins\designer\”目录。

注意:一定要复制Release版本。

4.2 验证

启动Qt Designer。

在左侧widget box的最下方可以看到QVTKWidget,说明安装成功。

4.3 在Qt Creator 环境下使用VTK

Qt Creator环境下的designer是看不见QVTKWidget插件的,所以不能直接拖放。需先拖放QWidget,然后再选择QWidget提升为QVTKWidget。

 

5、在VS2015环境下使用VTK

5.1 安装 Qt Visual Studio Tools

需要在VS2015的扩展和更新中安装Qt Visual Studio Tools扩展工具。

注意QtPackage不能使用QVTKWidget插件,不要安装。

安装步骤如下:

① 打开VS2015,选择菜单“工具” → 点击“扩展和更新” 。

② 在“扩展和更新”窗口中,点击“联机”,然后在右侧输入框输入“Qt”,并按下“Enter”键,如下图所示

选择Qt Visual Studio Tools 工具下载安装即可。

注意:不要装QtPackage工具。

③ 安装成功后,VS2015菜单上会出现Qt VS Tools,点击 Launch Qt Designer就能看到

另外,qt-vs-addin工具也可实现QT在VS下编译运行。安装配置请参考Qt在VS(Visual Studio)中使用 。

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VTK7.1.1+VS2017+QT的安装与配置 的相关文章

  • python的内置容器(list、set、tuple、dict)概念、使用及遍历方法

    容器概念 线性表 有序的容器结构 数组 array 是由连续的内存空间组成 栈 stack 先进后出 后进先出 队列 queue 先进先出 后进后出 链表 list 是由不连续的内存空间组了逻辑结构 单向链表 内存小 效率低 双向列表 内存
  • kubeadm 安装k8s

    关于k8s集群化部署 以下均是个人一步一步的完成部署 并且会罗列出在部署过程中遇到的各种问题及其解决方式 一 环境准备 环境准备阶段试用与master节点部署与work节点部署 即master和work节点全部都需要执行这些步骤 1 关闭防
  • LCR 005. 最大单词长度乘积----位掩码的使用

    题目描述 给定一个字符串数组 words 请计算当两个字符串 words i 和 words j 不包含相同字符时 它们长度的乘积的最大值 假设字符串中只包含英语的小写字母 如果没有不包含相同字符的一对字符串 返回 0 示例 1 输入 wo
  • javascript——js string 转 int 注意的问题——parseInt

  • Linux搭建C++开发调试环境的方法步骤

    安装g Linux编译C 程序必须安装g 编译器 这里使用yum方式安装 首先切换到root账号 su root 然后输入密码 执行yum install gcc c 注意不是yum install g 报错 报错是因为yum需要配置正确的
  • 安装启动配置mysql5.7_MySQL5.7多实例安装及开机启动配置(亲测)

    安装环境 CentOS版本 CentOS7 6 1810 MySQL版本 5 7 9 以前一些很low的方法是 解压两个mysql 分别放到不同文件夹 其实在mysql中已经考虑到了多实例安装的情况 也有相应的脚本命令的支持 现在安装两个m
  • 发牌程序 java

    题目要求 代码 package PokerGame import java util public class PokerGame 黑桃 红心 草花 方块 int m 牌数 int n 人数 int warning 0 有余数 int po
  • unity各种路径

    1 Resources路径 Resources文件夹是Unity里自动识别的一种文件夹 可在Unity编辑器的Project窗口里创建 并将资源放置在里面 Resources文件夹下的资源不管是否有用 全部会打包进 apk或者 ipa 并且

随机推荐

  • 什么是依赖注入

    什么是依赖注入 依赖注入指的是在Spring创建对象的过程中 把对象依赖的属性注入到对象中 依赖注入的方式主要包括 基于 set 方式注入 也即属性注入 基于构造器方式的注入 p命名空间注入 对应属性注入 c命名空间注入 对应构造器注入 p
  • [Java实现 Scoket实时接收Tcp消息 优化层层叠加]

    目录 前言 基础实现代码 描述 优化代码多线程处理客户端连接和消息接收 描述 再次优化异步实现 以下是使用 CompletableFuture 实现异步处理客户端请求的示例代码 描述 进一步优化的代码 Netty来实现Socket服务器 描
  • AntV 柱状图

    AntV 柱状图图表 Step 1 npm install antv g2 Step 2 创建柱状图容器 div div 代码截图 代码生成效果 源码 const chartData 0 date Jan num 4 1 date Feb
  • 一篇文章实习心得

    1 爬虫实习 2月 如果公司已经搭建好了爬虫框架比如scrapy那么爬的方向可能也是固定的 代码复用率应该很高 只需要分析页面的逻辑 以及想要爬的字段 自己按照前辈写的代码修改就好了 如果公司没有搭建好框架 你是公司的第一个爬虫工程师 你要
  • mysql的主键规则_MySQL主键(PRIMARY KEY)

    主键 PRIMARY KEY 的完整称呼是 主键约束 MySQL 主键约束是一个列或者列的组合 其值能唯一地标识表中的每一行 这样的一列或多列称为表的主键 通过它可以强制表的实体完整性 选取设置主键约束的字段 主键约束即在表中定义一个主键来
  • Python如何执行shell脚本

    Python如何执行shell脚本 自从出了Pyhon3 5之后 os模块下的system os popen 基本被废弃了 因此如下只介绍2种方式 一 使用commands模块 有三个方法可以使用 1 commands getstatuso
  • wireshark 实用过滤表达式

    wireshark 实用过滤表达式 针对ip 协议 端口 长度和内容 1 关键字 与 eq 和 等同 可以使用 and 表示并且 或 or 表示或者 非 和 not 都表示取反 多组条件联合过滤数据包的命令 就是通过每个单个的条件命令与关键
  • python教程29-继承的基本使用、继承的注意事项、类方法和静态方法回顾、私有属性的继承特点、新式类和经典类

    python教程 小白入门2021 4 5 学习目标 文章目录 python教程 小白入门2021 4 5 P 168 继承的基本使用 P169 继承的注意事项 P170 类方法和静态方法回顾 P171 私有属性的继承特点 P172 新式类
  • 干货:Java正确获取客户端真实IP方法整理

    在JSP里 获取客户端的IP地址的方法是 request getRemoteAddr 这种方法在大部分情况下都是有效的 但是在通过了Apache Squid等反向代理软件就不能获取到客户端的真实IP地址了 如果使用了反向代理软件 将http
  • Leetcode.406 经典算法题:根据身高重建队列

    假设有打乱顺序的一群人站成一个队列 数组 people 表示队列中一些人的属性 不一定按顺序 每个 people i hi ki 表示第 i 个人的身高为 hi 前面 正好 有 ki 个身高大于或等于 hi 的人 请你重新构造并返回输入数组
  • 使用Idea更新数据库表的数据

    tags IDEA 我们在做案例的时候 经常需要改变数据表中的数据来进行简单测试 那我们在Idea下是如何修改数据表的数据的呢 我们可以看下面的图片 只要选择updata就行了 后面再按自动提交的标志 如果您觉得这篇文章帮助到了您 可以给作
  • JavaWeb05(删除&增加&修改功能实现&连接数据库)

    目录 一 实现删除功能 1 1 url如何传参 xx do 参数 参数值 参数名 参数值 1 2 servlet如何拿对应值 根据参数名拿到对应的参数值 String str req getParameter 参数名 1 3 如何询问 nc
  • sql: paging in SQL Server

    sql server 2012 及以上 涂聚文 Geovin Du geovindu 注 SELECT FROM BookKindList ORDER BY SELECT NULL OFFSET 0 ROWS FETCH NEXT 3 RO
  • 数学建模4 论文写作排版和技巧

    文字 标题一 四号黑体 标题二 三 小四号黑体 正文 宋体小四 行距1 5 标题前后空0 5行 英文和数字使用Times New Roman 小四 包括表格中的内 表头在表格上方 需写成 表1 什么什么表 黑体小五加粗 居中 图名在图下 需
  • Saas-Export项目之部门数据回显(下拉框和单选框回显)

    Saas Export项目之部门数据回显 之前的经验 做数据回显一般就是在数据修改时需要查询出这条信息 然后再将数据拆分每一项逐一赋值在表单上 通常赋值就行 而且都是input type text这种类型的 所有只要在input里增加val
  • 推荐 4 个本月火火火的开源项目

    本期推荐开源项目目录 1 开源的 AI 生成图像 APP 2 属于你的微信聊天机器人 3 好玩的 Windows 桌面应用 4 Windows 12 网页版 01 开源的 AI 生成图像 APP 该开源项目技术栈基于 Next js Cha
  • 与Miriam Suzanne一起进行Sass,Susy,单元测试和寻找声音

    In this episode of the Versioning Show Tim and David are joined by Miriam Suzanne best known for Susy a responsive layou
  • jmockit使用(一) —— mock 系统时间

    一 mock工具被广泛的应用于单测中 尤其是当测试环境系统依赖的外部项较多 而且不受控制时 jmockit一般有2种方式 一种是基于行为的方式 使用者在单测类中写 Expectations 里面放置 预期 会被执行的代码段和返回 这就是一种
  • 12款最常使用的网络爬虫工具推荐

    网络爬虫在当今的许多领域得到广泛应用 它的作用是从任何网站获取特定的或更新的数据并存储下来 网络爬虫工具越来越为人所熟知 因为网络爬虫简化并自动化了整个爬取过程 使每个人都可以轻松访问网站数据资源 使用网络爬虫工具可以让人们免于重复打字或复
  • VTK7.1.1+VS2017+QT的安装与配置

    本文转载自 https blog csdn net hebbely article details 81067505 简述 为了实现RealSense的PCL点云显示 需要VTK支持 由于整个平台在Qt环境实现 VTK编译为Qt插件 QVT