ubuntu18下点云PCL库的安装与测试

ubuntu18下点云PCL库的安装与测试

    • 零、前话
    • 一、官方提供的安装方法
    • 二、网上几篇可以参考的安装方法
    • 三、安装过程
    • 四、测试用例

零、前话

最近了解了一下3D模型处理库PointCloud,尝试在ubuntu18下进行安装测试,中间遇到了很多问题,最终还是安装成功了,在此记录一下。

一、官方提供的安装方法

1、安装包安装方法:http://pointclouds.org/documentation/tutorials/compiling_pcl_posix.php
上面这个网址是官方提供的离线安装点云的方法,打开网址后会看到详细的点云安装步骤,但是如果你真按照官方的步骤来,会发现并没有想象中那么顺利,中间会出现各种问题,会提示你缺失各种依赖库,然后你又不得不重头再来,而点云库的安装每次都要花费3个小时以上。所以,建议先安装好点云的各种依赖库,然后在安装点云。

官方给的安装步骤和依赖库截图,依赖库名称和最小依赖库版本号看截图中的红色下划线:
ubuntu18下点云PCL库的安装与测试_第1张图片
ubuntu18下点云PCL库的安装与测试_第2张图片

2、在线安装方法:
官方给的各种版本linux下在线安装的方法:http://pointclouds.org/documentation/tutorials/compiling_pcl_posix.php

看到上面的这些,貌似官方给的方法很全面了,但是真搞起来真没有那么容易,做好至少搞一天的准备吧。

二、网上几篇可以参考的安装方法

1、https://blog.csdn.net/fsencen/article/details/79386570
2、https://blog.csdn.net/dantengc/article/details/78446600
3、https://www.cnblogs.com/newneul/p/8256803.html
第1、2两篇方法大同小异,第三篇安装好点云后,使用点云库时,可能会出现找不到头文件的情况,可以使用这种方法。

三、安装过程

1、我采用的是离线安装+在线安装的方法,因为一步步探索着来的,离线安装不好使的就采用在线安装,直到成功为止。
最开始直接在官网下载的离线包安装的,直接安装的PCL,出现缺失依赖库的问题,看下面的截图:
ubuntu18下点云PCL库的安装与测试_第3张图片
ubuntu18下点云PCL库的安装与测试_第4张图片

上面截图中缺失的是boost库和eigen3库,所以建议安装点云库之前,先把各种依赖库安装好。

2、没有硬性要求的情况下,安装库根据情况适时的选择使用离线+在线的方法。
我在安装的过程中,尝试了在线和离线两种方法,最后还是通过编译官方GitHub上的源码安装成功的。
1、https://github.com/PointCloudLibrary/pcl/releases

四、测试用例

1、使用的官方用例如下:

#include 
#include 
#include 

using namespace std;

int main()
{
    pcl::PointXYZ p_valid; p_valid.x = 0; p_valid.y = 0; p_valid.z = 0;
    std::cout << "Is p_valid valid? " << pcl::isFinite(p_valid) << std::endl;

    // If any component is NaN, the point is not finite.
    pcl::PointXYZ p_invalid; p_invalid.x = std::numeric_limits::quiet_NaN(); p_invalid.y = 0; p_invalid.z = 0;
    std::cout << "Is p_invalid valid? " << pcl::isFinite(p_invalid) << std::endl;

    getchar();
    return (0);
}

运行成功后的截图如下:
ubuntu18下点云PCL库的安装与测试_第5张图片

2、可能遇到的问题
1》、/usr/local/include/pcl/pcl_macros.h:73: error: Eigen/Core: No such file or directory
参考:https://www.cnblogs.com/newneul/p/8256803.html

2》、/usr/local/include/pcl/pcl_config.h:7: error: #error PCL requires C++14 or above
#error PCL requires C++14 or above
由于我使用的IDE是Qt Creator,所以.pro文件需要作下面配置:
在.pro文件中加入C++14即可:CONFIG += console c++11 c++14

如果使用的是其他IDE请自行搜索链接C++11和C++14的方法。
g++编译时使用形如:g++ -g -std=c++11 c++14 -o file.cpp file尝试一下。


祝你好运!

你可能感兴趣的:(PointCloud,PointCloud安装,ubuntu点云库安装,PCL库安装)