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

由于我电脑中有 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

六: qt createtor设计器中 是没有QVTKWidget

打开了我的qt creator 发面 ui界面是没有QVTKWidget的,但是单独打开 designer 发现里面是有的

参考:Windows10下QT+VTK+PCL环境配置(一次成功)_qt pcl_v俊逸的博客-CSDN博客

没有问题 Qt creator不会显示QVTK,但是Qt Designer中有,使用过程中不会影响。这是个历史遗留问题 Qt一直没解决。

相关推荐
矛取矛求1 分钟前
QT的前景与互联网岗位发展
开发语言·qt
Leventure_轩先生1 分钟前
[WASAPI]从Qt MultipleMedia来看WASAPI
开发语言·qt
向宇it15 分钟前
【从零开始入门unity游戏开发之——unity篇01】unity6基础入门开篇——游戏引擎是什么、主流的游戏引擎、为什么选择Unity
开发语言·unity·c#·游戏引擎
是娜个二叉树!32 分钟前
图像处理基础 | 格式转换.rgb转.jpg 灰度图 python
开发语言·python
Schwertlilien36 分钟前
图像处理-Ch5-图像复原与重建
c语言·开发语言·机器学习
liuyunshengsir39 分钟前
Squid代理服务器的安装使用
开发语言·php
只做开心事1 小时前
C++之红黑树模拟实现
开发语言·c++
很楠不爱1 小时前
项目实战——高并发内存池
开发语言·项目实战
程序员buddha2 小时前
C语言从入门到放弃教程
c语言·开发语言
程序员老冯头2 小时前
第十五章 C++ 数组
开发语言·c++·算法