win10 64位 vs2017 qt5.12.6 pcl1.9.1 vtk8.1.1配置安装步骤

news2024/10/5 14:07:10

由于我电脑中有 QT5.12.6 VS2017,就不介绍怎么安装了,只介绍cmake,pcl及vtk的配置步骤

为了便于后续QT的调用,以下所有安装路径均不能出现中文及空格等

PCL自带VTK是不完整的,所以需要下载VTK源码进行重新编译使其支持QT。

一:资源链接:

【免费】pcl1.9.1vtk8.1.1cmake3.14.2用于win1064位下,vs2017qt5.12.6资源-CSDN文库https://download.csdn.net/download/u012719076/88146824

资源内容:

 PCL 1.9.1版本对应的VTK版本为8.1,

我选择的VTK 8.1.1版本

先将上述4个文件下载,将所有压缩包解压

二、Cmake安装

点击cmake-3.14.2-win64-x64.msi  按照指示进行操作

注意: 安装路径我没有选择默认路径,我的路径为:D:\ProgramFiles\Cmake

三、pcl安装

(一) PCL-1.9.1-AllInOne-msvc2017-win64.exe 的安装

 1. 双击exe,前两步默认,第三步:选择   Add PCL to the system PATH for all users

2.安装路径 D:\ProgramFiles\PCL\PCL1.9.1 -注意不能有空格

随后步骤 安装路径:我选择了 : D:\ProgramFiles\PCL,

自动生成路径:D:\ProgramFiles\PCL\PCL 1.9.1     注意:这个路径中是有空格的,qt中路径不能识别带空格路径,所以,要把这个空格去掉

最后安装路径为: D:\ProgramFiles\PCL\PCL1.9.1

3. 选择组件时,全部选择--按照默认即可

 4.OpenNI的安装

PCL安装快结束时,会弹出来安装第三方库,我的安装路径为:

D:\ProgramFiles\PCL\PCL1.9.1\3rdParty\OpenNI2 其他按照默认安装即可

(二)解压,拷贝 

解压  pcl-1.9.1-pdb-msvc2017-win64.zip 将所有的pdb文件拷贝到pcl的安装路径下即可

D:\ProgramFiles\PCL\PCL1.9.1\bin

注意:pcl中的vtk不用改动,因为pcl1.9.1中的vtk为8.1.1,与Qt中配置的vtk版本一致

至此PCL安装结束

四、vtk编译

(一)编译步骤:

步骤主要参考下面两篇文章

VS2015 + PCL1.8.0 + QT_5.62 + cmake3.82 编译VTK7.1,生成QVTKWidgetPlugin.dll_恭勤不倦的博客-CSDN博客https://blog.csdn.net/ktony_90/article/details/77966904VTK8.2.0编译安装与测试用例运行(win10 + VS2017 + Qt5,Release+Debug)_vtk 编译时怎么打开测试程序_LiveAn的博客-CSDN博客https://blog.csdn.net/anhec/article/details/86777302

vs+qt+vtk+pcl+cmake下载、安装、配置以及过程中存在的一系列问题解决_vs安装vtk_ych什么都不会的博客-CSDN博客https://blog.csdn.net/m0_74195873/article/details/129910816

0. 先建2个空文件夹用来存放vtk编译程序和安装程序--在想要的安装路径下

 1.以管理员的方式打开cmake,选择好源码路径、编译路径、勾选 Advanced

VS2017+Qt5.12.0+PCL1.9.1开发环境配置过程详细记录_小龙就是爱学习的博客-CSDN博客

可参考这个设置 类型 

(1)点击Add Entry,添加CMAKE_PREFIX_PATH,类型为“PATH”,设置为QT的安装路径。
(2)点击Add Entry,添加CMAKE_DEBUG_POSTFIX,设置为"_d"。用来区分debug与release版本下的dll和lib文件,不然的话创建安装文件的时候debug与release版本,名字相同相互覆盖。

应该选 string  ;我选错了,选了filepath

(3)然后点击  config , 选择 vs2017---x64  其他默认,  配置好后,会冒出一堆红,不要怕,继续。。

 2. 勾选-配置--再次 config
 

 勾选BUILD_SHARED_LIBS,使生成VTK的lib与dll
勾选BUILD_EXAMPLES,使编译生成一些

​勾选VTK_Group_Qt,让VTK支持Qt Application

设置CMAKE_INSTALL_PREFIX目录为VTK安装目录(D:\ProgramFiles\VTK\VTK811\install)

3.确认路径及 再次 config

2步骤点击config后,红色缺少少了很多,这一步主要是请确认红色变量的路径(Qt路径,Examples路径)是否正确,以及Qt的版本是否为5

 此步点击config后,虽然显示config done  还是有红的,确认后再次点击config,直到没有红色的出现

4. 点击Generate

在编译路径builid下 生成vtk工程

(二) vs生成lib与dll

1.打开 vtk工程

用管理员模式打开VS2017, 然后打开工程 VTK.sln

路径在 D:\ProgramFiles\VTK\VTK811\build  

2.debug模式下

(1).编译ALL-BUILD工程  

选择 debug  x64模式, 点击 ALL-BUILD工程, 生成---重新生成ALL-BUILD    编译过程大概一小时

 经过一个小时左右编译结果如下

269>------ 已启动全部重新生成: 项目: ALL_BUILD, 配置: Debug x64 ------
269>Building Custom Rule D:/software/pcl/vtk-v8.1.1/vtk-v8.1.1/CMakeLists.txt
269>CMake does not need to re-run because D:/ProgramFiles/VTK/VTK811/build/CMakeFiles/generate.stamp is up-to-date.
========== 全部重新生成: 成功 268 个,失败 1 个,跳过 0 个 ==========

失败的是: 我没管,继续编译install了

0>CMake Error at D:/ProgramFiles/Cmake/share/cmake-3.14/Modules/ExternalData.cmake:1121 (message):
30>
30>
30>  Object MD5=6424e2a51d932a5c93c361c14c3c4c49 not found at:
30>
30>    http://midas3.kitware.com/midas/api/rest?method=midas.bitstream.download&checksum=6424e2a51d932a5c93c361c14c3c4c49&algorithm=MD5 ("HTTP response code said error")
30>    http://www.vtk.org/files/ExternalData/MD5/6424e2a51d932a5c93c361c14c3c4c49 ("Timeout was reached")
30>
30>
30>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.CppCommon.targets(209,5): error MSB6006: “cmd.exe”已退出,代码为 1。

(2).编译 INSTALL工程

点击INSTALL 工程,鼠标右击,依次选择  “仅用于项目  ->   仅生成INSTALL”

编译成功后,在VTK的安装路径下D:\ProgramFiles\VTK\VTK811\install

能看到如下信息,dll与 lib 均带_d

(3) 将上述文件夹放在新建的debug下,然后重新弄release模式下的

3.release下

选择 release--x64

(1)ALL-BUILD工程  

点击ALL-BUILD 右键  选择 生成     

编译了大概半小时,  生成: 成功 268 个,失败 1 个,最新 0 个,跳过 0 个 ==========

还是失败还是 cmake

(2). INSTALL工程

点击INSTALL 工程,鼠标右击,依次选择  “仅用于项目  ->   仅生成INSTALL”

编译成功后,在VTK的安装路径下D:\ProgramFiles\VTK\VTK811\install

能看到如下信息,dll与 lib 均不带_d

(3) 将生成的release下所有文件拷贝到新建文件夹下

(4)dll拷贝到QT的designer路径下

将 release版  QVTKWidgetPlugin.dll(必须是release版的),添加到你的QT的designer的路径下,D:\QT\5.12.6\msvc2017_64\plugins\designer

就可以在msvc2017_64版本的Qt Designer中添加QVTKWidget控件了

(三)测试vtk

测试vtk是否编译成功,VTK工程中,选择 cube工程,右键,设为 启动项目

然后点击运行,会出现如下图所示

同理,也可以测试: Cone6工程,测试是圆锥

 五、环境变量设置

(一)PCL系统环境变量配置

系统环境变量path中新添加以下几个变量值

//用下面的
D:\ProgramFiles\PCL\PCL1.9.1\bin
D:\ProgramFiles\PCL\PCL1.9.1\3rdParty\Boost\lib
D:\ProgramFiles\PCL\PCL1.9.1\3rdParty\FLANN\bin
D:\ProgramFiles\PCL\PCL1.9.1\3rdParty\Qhull\bin
D:\ProgramFiles\PCL\PCL1.9.1\3rdParty\OpenNI2\Lib
D:\ProgramFiles\PCL\PCL1.9.1\3rdParty\OpenNI2\Redist
D:\ProgramFiles\PCL\PCL1.9.1\3rdParty\OpenNI2\Tools



注意:

注意:pcl中的vtk不用改动,因为pcl1.9.1中的vtk为8.1.1,与Qt中配置的vtk版本一致

(二)vtk环境变量设置

将vtk配置到系统的环境变量中

D:\ProgramFiles\VTK\VTK811\install\debug\bin
D:\ProgramFiles\VTK\VTK811\install\release\bin

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

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

相关文章

激光切割机在镂空技术中的运用场景具体包括哪些部分

本文将为您呈现一些激光镂空工艺的实际应用情况。激光切割机应用在镂空工艺上的一些地方。 首先,纸艺激光镂空的应用: 纸是中国古代四大发明之一,激光则是20世纪以来人类的一项重大发明。当传统文化与现代科技相互碰撞时,使得纸雕…

分享低成本非隔离PWM控制AC-DC开关芯片 YB5011

简介: YB5011系列是一款高性能低成本PWM控制功率开关,适用于离线式小功率降 压型应用场合,外围电路简单、器件个数少。同时产品内置高耐压MOSFET可提高 系统浪涌耐受能力,集成有完备的带自恢复功能的保护功能:VDD欠压保护、逐周期…

使用傲梅 VMware 备份软件保障数据保护

VMware数据保护一直是热门话题,因为VMware是虚拟化的驱动力。96% 的用户至少经历过数据丢失的主要原因之一:人为错误、硬盘驱动器故障、断电、火灾和自然灾害。 有效的 VMware 备份解决方案可以保护您的虚拟环境,并能够在需要时快速保护和恢…

Kafka-Broker工作流程

kafka集群在启动时,会将每个broker节点注册到zookeeper中,每个broker节点都有一个controller,哪个controller先在zookeeper中注册,哪个controller就负责监听brokers节点变化,当有分区的leader挂掉时,contro…

在商业广告领域中,LDE透明屏有哪些应用表现?

LDE透明屏是一种新型的显示技术,它能够在显示内容的同时保持屏幕的透明度,使得用户可以透过屏幕看到背后的物体。LDE透明屏的出现,为我们的生活带来了许多新的可能性。 首先,LDE透明屏可以应用于商业广告领域。 传统的广告牌需要…

浅谈实际工程中智能照明系统的节能设计

安科瑞 华楠 摘要:本文介绍了智能照明系统在实际工程中的应用,简单介绍了智能照明控制设计系统,阐述当前智能照明对建筑节能的重要意义,合理地分析了智能照明系统的发展前景。 关键词:智能照明系统控制,…

​17款画流程图的工具全面分析,功能一览!

流程图又称框图,是以特定的图形符号加上说明,表示算法的图。流程图相对于纯文字的表达而言在视觉上更清晰,能帮助我们进行更加有效的沟通和分析。流程图制作软件是一种提供创建图表功能的应用程序,解决了手动绘制流程图比较耗费时…

Roboflow制作yolov8数据集

进入官网网页 Sign in to Roboflow 先注册,因为是外网,注册前可以选择》》fanqiangruanjian 链接:https://pan.baidu.com/s/1YhLxSynvtcY1_FAbhc9q0g 提取码:f3es Roboflow标注平台使用----小白都能看懂_李大帅哥哈哈的博客-…

spring.config.location 手动指定配置文件文件

–spring.config.locationD:\javaproject\bangsun\ds-admin\ds-oper-mgr\src\main\resources\application.yml

海康视频插件VideoWebPlugin在vue中的实现

一,将js文件放在public文件下 二,在index中全局引入 三.在视频页面写方法,创建实例,初始化,我写的是1*4屏的 <template><!--视频窗口展示--><div idplayWnd classNameplayWnd refplayWnd styleleft: 0; bottom: 0;height: 902px;width: 60vw></div>&…

五分钟理解NIO与BIO

java NIO与BIO的区别&#xff1f; BIO -- Blocking IO 即阻塞式 IO。NIO -- Non-Blocking IO, 即非阻塞式 IO 或异步 IO。 BIO 基于字节流和字符流进行操作&#xff0c;数据的读取写入必须阻塞在一个线程内等待其完成。 NIO 主要有三大核心部分&#xff1a; Channel (通道)…

行业追踪,2023-08-02

自动复盘 2023-08-02 凡所有相&#xff0c;皆是虚妄。若见诸相非相&#xff0c;即见如来。 k 线图是最好的老师&#xff0c;每天持续发布板块的rps排名&#xff0c;追踪板块&#xff0c;板块来开仓&#xff0c;板块去清仓&#xff0c;丢弃自以为是的想法&#xff0c;板块去留让…

在线帮助中心 HelpLook 的致命弱点!!!

您可以使用Helplook搭建一个高效的企业知识库。利用这个知识库&#xff0c;您的团队成员将能够更好地管理、共享和获取内部知识&#xff0c;提高工作效率和协作能力。但是也得看清楚其中的有些功能需求是否满足&#xff01;&#xff01;&#xff01; HelpLook的功能欠缺还有很多…

【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事

系列文章目录 【SQL开发实战技巧】系列&#xff08;一&#xff09;:关于SQL不得不说的那些事 【SQL开发实战技巧】系列&#xff08;二&#xff09;&#xff1a;简单单表查询 【SQL开发实战技巧】系列&#xff08;三&#xff09;&#xff1a;SQL排序的那些事 【SQL开发实战技巧…

这些能帮你跨越音乐边界的音频转换器推荐给你

嘿&#xff0c;朋友,你是否曾经遇到过这样的情况&#xff1a;收集了许多喜爱的音乐&#xff0c;但发现其中一些仅仅支持wma格式&#xff0c;而你的设备却只能播放mp3&#xff1f;别担心&#xff0c;因为在这个数字化时代&#xff0c;有一个神奇的工具可以帮助你解决这个问题——…

老板说把跳针改过去,什么是主板跳针

最近骑车拍了很多视频&#xff0c;把电脑磁盘堆满了&#xff0c;想着买一条固态SSD卡扩展一下。 一咬牙一跺脚&#xff0c;直接安排&#xff0c;毫不犹豫。顺带加装了无限网卡和蓝牙5.2。 收到后立马安装。安装完发现识别不到新磁盘 确认安装没问题。然后就去问固态硬盘的客服 …

Live Market做世界C端用户数据的耕耘,数据和流量的价值呈现

在数字化时代&#xff0c;数据成为了推动经济增长和商业发展的重要资源&#xff0c;而流量则是数据价值的体现和传递媒介。随着全球互联网的普及和移动设备的智能化&#xff0c;C端用户数据的收集和分析变得尤为重要。在这个领域&#xff0c;有一家专注于世界C端用户数据耕耘的…

对象的深拷贝和浅拷贝

深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的。 数据类型 数据分为基本数据类型(String, Number, Boolean, Null, Undefined&#xff0c;Symbol)和对象数据类型。 基本数据类型的特点&#xff1a;直接存储在栈(stack)中的数据引用数据类型的特点&#xff1a;存…

微信小程序选项卡切换(滑动切换,点击切换)

效果如下&#xff1a;可点击切换&#xff0c;滑动切换 代码如下 这个可以在项目用 index.wxml <view classtopTabSwiper><view classtab {{currentData 0 ? "tabBorer" : ""}} data-current "0" bindtapcheckCurrent>选项一&…

移动端商品分类左右联动

代码&#xff1a; <template><view class"u-wrap"><view class"u-menu-wrap"><scroll-view scroll-y scroll-with-animation class"u-tab-view menu-scroll-view" :scroll-top"scrollTop":scroll-into-view&quo…