Qt 5.10.1 + PCL 1.8.1 环境搭建

项目需要用到PCL库,想集成到Qt中进行开发。有很多网页描述了具体过程,但作为一个小白,有些细节我没有注意到的,导致配置过程出现了很多波折,运行示例代码时发生了各种错误。所以把自己最后成功的方案记录下来,警示自己,也希望能给有需要的朋友做个参考。

安装Qt及cmake

Qt自不必说,cmake是后面用来重新编译VTK的源码用的。这两者的安装都没啥问题,从官网下载合适的安装包一直下一步即可。这里我使用的安装包版本为:

版本
Qt qt-opensource-windows-x86-5.10.1.exe
cmake cmake-3.15.1-win64-x64.msi

安装Qt时,要安装对msvc 64位编译器的支持(因为我后面安装的PCL用的是64位的包)。

安装PCL

可以直接使用GitHub上提供的 AllInOne installer。由于我电脑上已经安装的Visual Studio版本是2015,所以我下载了 PCL-1.8.1-AllInOne-msvc2015-win64.exe。安装过程与安装一般软件无异,一直下一步即可。需要注意的是:

  1. 安装时如果出现选择路径的地方,要把路径中的空格全部删除,这据说是由于Qt无法识别路径中的空格;

  2. 安装过程中会弹出PCL的支持模块OpenNI2的安装界面,网上都说为了便于管理,最好把OpenNI2按照到PCL安装目录的 3rdParty 文件夹下。具体可参考这里

重新编译VTK

这是为了能够在Qt中使用PCL(预构建的 PCL 安装包中, VTK 没有添加对 Qt 的支持。
这一步主要参考了两个网页: 12
大致过程:首先需要下载VTK的源码,然后用cmake处理源码,生成Visual Studio解决方案,最后打开生成的解决方案进行编译。用cmake 做 configure 的过程中要把上面两个网页中的步骤都做好,此外还有一些需要额外注意的地方:

  1. 在使用cmake处理源码时,第一次点击Configure时会弹窗要求选择编译器和目标平台,如下图
    在这里插入图片描述
    因为安装的 PCL 是 x64 的,所以一定要注意第二个框里(Optional platform for generator)要选择x64。我第一次编译 VTK 时这里就忘记选了,不选则使用默认的32位平台的设置,最后导致在链接的时候会报错。
  2. 第一次Configure后,要在 VTK 下勾选VTK_ALL_NEW_OBJECT_FACTORYVTK_DEBUG_LEAKS
    在这里插入图片描述在这里插入图片描述
    之所以想到要勾选这两项,是因为我某次重新编译 VTK 并运行示例程序时,会报

无法解析的外部符号 "public: __cdecl vtkDebugLeaksManager:: …

这样的错,以及一个貌似和 vtkNewObjectFactory 相关(抱歉没有做好记录,忘记完整的错误信息了)的错。 查了很多资料之后,发现这是因为编译时找不到相应的 lib 文件,然而我明明把 VTK lib 目录下的所有 lib 都添加到 Qt 里了 T_T。无奈之下打开 cmake 浏览了一下所有的选项,看到了这两个似乎相关的,勾选以后重新 generate 并用 VS 生成了一次,就不再报错了。

  1. 其他的按照网页中的要求设置好。
    这里要强调一下,一定要把Ungrouped Entries下所有Qt相关的文件夹中的msvc2015改成msvc2015_64,因为是要生成64位的相应文件。我某次编译这里没有改,最后测试时会报错。

修改Qt的.pro文件

在Qt的.pro文件中添加PCL相关的include和lib文件路径,具体可以参考 网页1 或者 网页2
一种更方便的做法是把下面这些包含头文件和链接库的内容放在一个.pri文件里,比如叫做 pcl.pri,放在我的pcl安装目录 D:/PCL1.8.1/ 下:

INCLUDEPATH += D:/PCL1.8.1/include/pcl-1.8\

INCLUDEPATH += D:/PCL1.8.1/include/pcl-1.8/pcl\

INCLUDEPATH += D:/PCL1.8.1/3rdParty/Boost/include/boost-1_64\

INCLUDEPATH += D:/PCL1.8.1/3rdParty/Boost/include/boost-1_64/boost\

INCLUDEPATH += D:/PCL1.8.1/3rdParty/Eigen/eigen3\

INCLUDEPATH += D:/PCL1.8.1/3rd
  • 1
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
搭建点云开发环境需要安装以下软件: 1. Visual Studio 2017:用于编写C++代码。 2. Qt 5.10.1:用于构建GUI界面。 3. PCL 1.8.1:点云库。 4. VTK 8.0:用于可视化点云数据。 以下是具体的步骤: 1. 安装 Visual Studio 2017,选择 C++ 工作负载。此外,还需要安装 CMake。 2. 下载 Qt 5.10.1 安装包并安装。需要安装的组件有:Qt 5.10.1 MSVC2017 64-bit、Qt Visual Studio Tools、Qt Charts 和 Qt Data Visualization。 3. 下载 PCL 1.8.1 for Windows,并解压到一个目录下。 4. 下载 VTK 8.0 for Windows,并解压到一个目录下。 5. 打开 CMake,设置源代码路径为 PCL 的根目录,设置构建路径为一个新的目录(例如:PCL_build)。点击 Configure,选择 Visual Studio 15 2017 Win64 作为生成器,点击 Finish。 6. 在 CMake 中,找到 VTK_DIR 设置项,将其设置为 VTK 的安装目录(例如:D:/VTK-8.0.0/build)。点击 Configure,然后点击 Generate。 7. 打开 Visual Studio 2017,选择 File > New > Project,选择 Qt Widgets Application。设置项目名称、位置和解决方案名称,然后点击 Create。 8. 在项目属性中,选择 C/C++ > General,将 Additional Include Directories 设置为 PCL 的 include 目录(例如:D:/PCL-1.8.1/include/pcl-1.8)和 VTK 的 include 目录(例如:D:/VTK-8.0.0/include/vtk-8.0)。 9. 在项目属性中,选择 Linker > General,将 Additional Library Directories 设置为 PCL 的 lib 目录(例如:D:/PCL-1.8.1/lib)和 VTK 的 lib 目录(例如:D:/VTK-8.0.0/build/bin/Release)。 10. 在项目属性中,选择 Linker > Input,将 Additional Dependencies 设置为以下库:pcl_common_release.lib、pcl_io_ply_release.lib、pcl_visualization_release.lib、vtkCommonCore-8.0.lib、vtkFiltersCore-8.0.lib、vtkInteractionStyle-8.0.lib、vtkRenderingCore-8.0.lib。 11. 编写代码并构建项目,即可开始点云开发。 以上是在 Windows 10、Visual Studio 2017、Qt 5.10.1、PCL 1.8.1 和 VTK 8.0 环境下的点云开发环境搭建步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值