PCL1.10.1+VS2019+Qt5.14.2下载、安装及配置(强迫症福音~使用的软件均为最新版本)

@[TOC]

前言

博主写该文章时,使用的三个软件均为最新版,踩了很多坑,先给大家探探路。吐血整理!😭

本人之前学习三维点云处理时安装过PCL,并且已经在VS2017中配置成功(应项目需求,需设计在Windows环境下运行的点云处理软件)。相比于Linux,在Windows环境下配置PCL会出现更多的问题,整个过程更复杂,当时也是收集了许多资料,踩了各种各样的坑,奈何疏于记录,整个流程和注意事项已忘了差不多了。现在更换了电脑需要重新配置PCL,各种操作需要从头再来。以防同样尴尬的事情再次出现,这次记录下整个下载、配置过程分享给大家,不仅是为了沉淀过程、积累经验以备不时之需;也是给遇到同样困惑的朋友们一个可参照的配置思路。

注意:因为本人现在使用的电脑已经安装好了VS2019Qt5.14,并且深度使用过一段时间(平常有需求做用户界面时,我是直接在Qt Creator上写相关的代码,没有试过在VS上实现Qt的代码。因此这次配置还要完成VS和Qt之间的连接)。这次就不考虑先卸载Qt和VS再安装三个软件,而是选择直接安装PCL,再对早已安装的VS和Qt进行扩展的思路来配置。相信有很多朋友和我的情况相同,毕竟学习也包含软件下载、软件扩展的过程😵

这次也是从一种特殊角度出发,记录安装、配置VS2019+Qt5.14+PCL的全过程。还没安装软件的可以搜下软件安装的教程,网上的帖子非常多,这里我就不重复了。

1 配置环境

  • Windows10 x64
  • Visual Studio 2019
  • Qt 5.14.2
  • PCL 1.10.1

2 准备工作

2.1 VS 2019 下载安装配置

如果没有安装过VS2019可以点击此处下载社区版(免费的)即可,具体安装步骤可以上网查询相关的帖子。

image

若早已安装使用了VS2019,可以从工具----获取工具和功能来管理安装的组件。
image

image

2.2 Qt 5.14.2 下载安装

2.2.1 本体组件管理

如果没有安装过Qt 5.14.2可以点击此处下载即可,具体安装步骤可以上网查询相关的帖子。

image

若早已安装使用了Qt,需要查看有没有安装msvc组件。我当时直接使用的Qt Creator,所以没有安装msvc组件。相比于VS,Qt的组件管理器没放在界面中,使用起来颇为麻烦。
在QT安装目录可以找到QT的组件管理软件MaintenanceTool
image

此时默认的存储库不能用,只能手动配置。手动添加​储存库要定位一个储存有Qt在线安装镜像的地址http://download.qt.io/static/mirrorlist/这个网站,显示中国有四个镜像地址,挑选任意一个,点击HTTP进入一个网络文件夹。
进入最终文件夹/online/qtsdkrepository/windows_x86/root/qt/,复制当前地址。
image

利用复制的网址创建临时存储库
image

[图片上传失败...(image-4c62f3-1586141234867)]
可以开始管理你的组件了!
image

勾选上msvc2017 64-bit即可,目前组件还没有msvc2019选项,勾选2017也可以,亲测有效!其他组件怎么选择可以看这篇文章https://blog.csdn.net/WU9797/article/details/80991126
[图片上传失败...(image-85fa9-1586141234867)]

2.2.2 安装VS插件

下载插件vsaddin
https://download.qt.io/official_releases/vsaddin/

image

image

安装完成后重新打开VS2019,在扩展一栏下边就会出现Qt VS Tools,进入Qt Options
image

添加这两个编译器,设置msvc2017_64为默认编译器。
image

🆗 Qt和VS之间的配置已完成!

2.3 PCL 1.10.1 下载安装

2.3.1 本体安装

如果没有安装过Qt 5.14可以点击此处下载即可。下载AllInOnepdb文件

image

注意,在GitHub上看到的版本是PCL团队公布的最新版本1.10.1;在PCL官网上可下载的最新的为1.6.0版本。我还没去了解究竟是因为官网不再更新了还是说GitHub推出的只是测试版,本着买新不买旧的原则这次安装1.10.1版本的。

PCL库安装一般有两种方式:一种是下载PCL的所有第三方依赖库以及PCL的源代码后,自行进行编译安装(在Linux上实现非常便捷,只需要在终端上敲命令即可),这样做的好处是可以根据自己的需求修改源代码;另一种是利用AllInOne版本进行安装,所有依赖在安装PCL时自动安装了。本文采用第二种安装方式。

运行AllInOne文件

image

image

这里需要配置安装的其他库,如果自己不确定到底有没有其他的软件安装过相关的库,那么就全部都勾选了,否则库的缺失会导致点云库不能正常工作。
image

安装过程中,会跳出OpenNI2的单独安装对话框,将安装路径修改为 3rdParty/OpenNI2,即和其他 PCL 依赖的第三方库放在一起,然后继续,完成 PCL 的安装。
image

解压pcl-1.9.0-pdb-msvc2017-win64.zip,将解压得到的文件夹中的内容添加到你的PCL安装bin目录中。
安装到此结束!

2.3.2 手动编译VTK

PCL 依赖 VTK,在其 3rdParty 目录下可以看到 VTK。那为什么还要手动编译 VTK 呢?这是因为,PCL 安装目录下的 VTK 并不完整,其中就少了与 Qt 相关的模块(比如 QVTKWidget)。所以我们需要手动编译 VTK,并替换 PCL 3rdParty 下的 VTK

可以发现,PCL1.9.1 依赖 VTK8.2,所以我们编译这个版本的 VTK(如果你使用的是其他版本的 PCL,请编译对应版本的 VTK)。可以在 VTK Github 下的 release 页面获取对应版本的 VTK 源码。在此之前,你需要先安装 cmake ,用于生成平台相关的解决方案。

首先将 VTK 源码解压,打开 安装好的cmake-gui,设置源码目录(此处即为 VTK 源码目录)和生成目录。并使用 Add Entry 按钮添加缓存变量 CMAKE_DEBUG_POSTFIX,类型为 STRING,值设置为 -gd。这是为了将最后编译的 debug 文件与 release 文件区分开来。

image

单击 Configure 进行配置,根据安装的 Visual Studio 的版本选择对应的生成器,选择 x64 平台。然后开始配置。
在这里插入图片描述

配置过程中,cmake 会检测当前环境,编译器等,并生成缓存变量。第一次配置完成后,需要对一些缓存变量进行修改,如 CMAKE_INSTALL_PREFIX,它规定了最后构建的 VTK 安装在什么地方,这个目录可以随意选择,到时候拷贝到 PCL 3rdParty 目录下即可。此外,可以选择需要构建的内容:BUILD_DOCUMENTATION, BUILD_EXAMPLES, BUILD_SHARED_LIBS, BUILD_TESTING。考虑到没有直接使用 VTK,而只是用于替换 PCL 中的 VTK,可以只勾选 BUILD_SHARED_LIBS,不对文档、实例和测试进行生成,这样可以节省生成和构建的时间。另外一个比较重要的是,要勾选 VTK_Group_Qt。具体如下图所示,单击 Configure,进行配置。
image

然后就会提示 Qt5_DIR NOT FOUND,所以,将该缓存变量设置为 Qt cmake 目录,在我的电脑上该目录为 D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\lib\cmake\Qt5(具体根据 Qt 的版本和安装目录进行合适的设置)。将 VTK_QT_VERSION 设置为 5
image

然后 Configure,配置完成后,开始 Generate,生成完毕后,可以在生成目录下发现 Visual Studio 解决方案.sln文件)。打开解决方案(用VS2019打开.sln文件),其中包含了上百个即项目,默认是 Debug x64 模式,右击 ALL_BUILD 项目,选择生成,生成完成后,右击 INSTALL 项目,选择生成,即开始安装,将生成 debug 库文件。待构建完成后,切换为 Release x64 模式,按同样的操作,生成 release 库文件(构建过程比较耗时,大概需要 2 个小时左右)。最终完成 VTK 的构建,可以在先前配置的安装目录下找到构建好的文件。
image

image

最后,将构建好的整个目录拷贝至 PCL 3rdParty 目录下,更名为 VTK,替换掉原来的 VTK。此外,为了能够在 Qt Designer 中使用 QVTKWidget 控件,将 C:\Program Files\PCL1.10.1\3rdParty\VTK\plugins\designer 下的.dll文件拷贝至 D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\plugins\designer 目录下(具体目录设置根据软件版本和安装路径而定)。

PCL1.10.1+VS2019+Qt5.14.2 安装及配置到此基本结束。

3 环境变量设置

在这里插入图片描述

最后还需要进行环境变量设置(如已添加则忽略,可以添加在系统变量中,这样每个用户不用单独地设置):

  • PCL_ROOT
    指向 PCL 安装根目录(示例:C:\Program Files\PCL1.10.1)。

  • QTDIR
    指向 QT 安装根目录(示例:D:\Qt\Qt5.14.2)。

  • 在 PATH 环境变量添加以下值:
    %PCL_ROOT%\bin
    %PCL_ROOT%\3rdParty\FLANN\bin
    %PCL_ROOT%\3rdParty\VTK\bin
    %PCL_ROOT%\3rdParty\Qhull\bin
    %PCL_ROOT%\3rdParty\OpenNI2\Tools

以上就是 PCL1.10.1+VS2019+Qt5.14 下载、安装及配置方法了,希望对大家有所帮助~

如果觉得我的文章对你起到了些许的帮助,做下手指操点击下面的大拇指👍感谢~
我是专注自动驾驶、Lidar感知、三维点云处理、激光SLAM领域的阿川,欢迎各位志同道合的朋友在下面积极留言。欲将心事付瑶琴,希望能在交流中收获知识、经验和挚友🌞

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 本文系转载,如侵权请告知删除。原博文链接:https://blog.csdn.net/jepco1/article...
    coder_Alaric阅读 1,027评论 0 0
  • Qt是属于一个跨平台的GUI开发软件,支持的平台有Unix、Linux、Windows/WinCE、IOS等。 Q...
    一叶之界阅读 8,150评论 0 17
  • 在linux系统上安装环境VTK+PCL+QT5,踩过无数坑。。。 一、版本对应 编译PCL之前要安装VTK,博主...
    Cyfeng阅读 12,856评论 1 2
  • 1.安装QT镜像1.1 下载安装文件1.2 编译2 安装点云2.1 下载源码2.2 安装依赖库3 安装PCL1.8...
    阿面a阅读 4,517评论 0 1
  • 一个人在说话的时候,其背后都有隐藏的涵义。这就是心理学神秘的潜意识现象,潜意识就是你不知道的自己,一旦读懂了潜意识...
    bc1b6b6c34c8阅读 551评论 0 3