目录

1 安装方法

2 测试是否安装成功

2.1 pcl_test.cpp

2.2 CMakeLists.txt

2.3 结果显示:​

3 遇到的问题

3.1 make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so'

解决方法1:安装缺失的packeage

解决方法2:建立软连接

3.2 can not find libvtkproj4.so

解决方法1:建立软链接

解决方法2:移除依赖关系

3.3 fatal error: pcl/visualization/pcl_visualizer.h: 没有那个文件或目录

3.4 找不到已经编译好的pcl_xxx.so


1 安装方法

  • 最简单快捷: 这是已经编译好的点云库(PCL-1.7),附带安装了VTK-6.2.0,以及各种杂七杂八的依赖库。
  • sudo apt-get install libpcl-dev
  • 最简易的PCL安装方法(ubuntu16.04系统)
  • ubuntu16.04下PCL点云库的最新安装方法与简单测试

  • 或者下载源码手动编译安装:PCL1.8+Ubuntu16.04安装详解
  • 先安装依赖,再下载源码,编译安装。(参考:Ubuntu18.04安装PCL)
  • #下载源码
    git clone https://github.com/PointCloudLibrary/pcl.git#cd到下载目录,编译安装
    cd pcl
    mkdir release
    cd release
    cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \-DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \-DCMAKE_INSTALL_PREFIX=/usr
    make
    sudo make install

2 测试是否安装成功

2.1 pcl_test.cpp

//pcl_test.cpp
#include <iostream>
#include <pcl/common/common_headers.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/console/parse.h>int main(int argc, char **argv) {std::cout << "Test PCL !!!" << std::endl;pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr (new pcl::PointCloud<pcl::PointXYZRGB>);uint8_t r(255), g(15), b(15);for (float z(-1.0); z <= 1.0; z += 0.05){for (float angle(0.0); angle <= 360.0; angle += 5.0){pcl::PointXYZRGB point;point.x = 0.5 * cosf (pcl::deg2rad(angle));point.y = sinf (pcl::deg2rad(angle));point.z = z;uint32_t rgb = (static_cast<uint32_t>(r) << 16 |static_cast<uint32_t>(g) << 8 | static_cast<uint32_t>(b));point.rgb = *reinterpret_cast<float*>(&rgb);point_cloud_ptr->points.push_back (point);}if (z < 0.0){r -= 12;g += 12;}else{g -= 12;b += 12;}}point_cloud_ptr->width = (int) point_cloud_ptr->points.size ();point_cloud_ptr->height = 1;pcl::visualization::CloudViewer viewer ("test");viewer.showCloud(point_cloud_ptr);while (!viewer.wasStopped()){ };return 0;
}

2.2 CMakeLists.txt

# CMakeLists.txt
cmake_minimum_required(VERSION 2.6)
project(pcl_test)find_package(PCL 1.7 REQUIRED)include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})# 问题3.2(can not find libvtkproj4.so)的解决方案
list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")add_executable(pcl_test pcl_test.cpp)target_link_libraries (pcl_test ${PCL_LIBRARIES})install(TARGETS pcl_test RUNTIME DESTINATION bin)

以上两个文件放在同一文件夹后,执行命令
cmake .
make
./pcl_test

2.3 结果显示:

参考:亲测 有效 Ubuntu16.04安装PCL库

3 遇到的问题

3.1 make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libproj.so'

解决方法1:安装缺失的packeage

使用apt-file快速寻找缺失so文件对应的package

采用以下命令对该文件所在的package进行搜索:

$ apt-file search /usr/lib/x86_64-linux-gnu/libproj.so

结果如下:

libproj-dev: /usr/lib/x86_64-linux-gnu/libproj.so
libproj9: /usr/lib/x86_64-linux-gnu/libproj.so.9
libproj9: /usr/lib/x86_64-linux-gnu/libproj.so.9.1.0

安装缺失的packeage:

$ sudo apt-get install libproj-dev

解决方法2:建立软连接

建立软连接, 终端中输入:

sudo ln -s /usr/lib/x86_64-linux-gnu/libproj.so.9 /usr/lib/x86_64-linux-gnu/libproj.so

3.2 can not find libvtkproj4.so

解决方法1:建立软链接

在根目录下搜索是否有这个文件,查看版本号是否一样。

如果只有libvtkproj4.so.5.10   说明版本号不对,需要软链接一下

sudo ln -s /usr/lib/libvtkproj4.so.5.10 /usr/lib/libvtkproj4.so

路径一般都是这个,不是这个的话对应修改一下

解决方法2:移除依赖关系

//在add_executable之前加上list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")//如果你使用PCL, 或者是用 VTK目录,也可以加上下面这个list(REMOVE_ITEM VTK_LIBRARIES "vtkproj4")

3.3 fatal error: pcl/visualization/pcl_visualizer.h: 没有那个文件或目录

方法1: 安装 cmake gui 用界面选择 visualization选项,再编译安装

方法2:如下

根据 Ubuntu16.04 安装配置 PCL1.9  建议,安装了vtk6.2版本。

sudo apt-get install libvtk6.2 libvtk6.2-qt libvtk6-dev
然后按照文中所述重新编译安装pcl1.9

cd pcl
     mkdir release
     cd release
     cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \
           -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \
           -DCMAKE_INSTALL_PREFIX=/usr ..
     make -j8 #根据性能/-j4或不加,否则可能相当卡
     sudo make install

3.4 找不到已经编译好的pcl_xxx.so

原因: 生成的so存在与/usr/lib下, 而使用的so去/usr/lib/x86_64-linux-gnu下找.

解决方法1: linux 给运行程序指定动态库路径 将自己可能存放库文件的路径都加入到/etc /ld.so.conf中. 或者 在 ~/.bashrc 中 添加 如

LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/your-path/lib

然后更新

source ~/.bashrc

解决方法2: 将需要的so直接copy到需要的目录中

3.5 eigen报错

Ubuntu卸载Eigen 重新安装3.1.0

  1. sudo updatedb
  2. locate eigen3
  3. sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums

从官网下载 eigen 源码包 安装

  1. mkdir build
  2. cd build
  3. cmake ..
  4. make install

Ubuntu 16.04下安装 PCL简单方法相关推荐

  1. Ubuntu 16.04 下安装运行 Suricata

    介绍 Suricata是一个免费.开源.成熟.快速.健壮的网络威胁检测引擎.Suricata引擎能够进行实时入侵检测(IDS).内联入侵预防(IPS).网络安全监控(NSM)和离线pcap处理.Sur ...

  2. Ubuntu 16.04下安装Caffe(GPU版本 GTX970)

    Ubuntu 16.04下安装Caffe(GPU版本 GTX970) 个人分类: Deep Learning 2018年8月6日更新说明:距上次安装成功没多久,显卡驱动莫名失效,没有解决,索性重装了系 ...

  3. Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使)

    Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使): 第一行命令:sudo apt-get upgrate 第二行命令:sudo apt-get install ope ...

  4. ubuntu 16.04下安装mysql

    ubuntu 16.04下安装mysql 从官网下载mysql-apt-config_0.8.12-1_all.deb,下载地址为:https://dev.mysql.com/downloads/re ...

  5. Ubuntu 16.04 下安装网易云

    Ubuntu 16.04 下安装网易云 目录 一.下载 二.开始安装 三.安装完成 四.运行 一.下载 官网看不到下载16.04的链接,只有18.04,但是依旧可以访问到,地址为: http://s1 ...

  6. Ubuntu 16.04下安装ffmpeg和opencv的安装与简介

    文章目录 ffmpeg简介 资料准备 0. 检查依赖yasm与gcc,以及pkg-config 1. 下载ffmpeg 2. 解压进入解压目录 3. 准备执行编译配置操作,执行如下操作 4. 编译与安 ...

  7. (已解决) Ubuntu 16.04 下安装和使用 TP-Link 的USB无线网卡

    在 Ubuntu 16.04 下使用 TP-Link USB无线网卡的通用方法 第一步: 查看 TP-link 网卡具体型号 未插无线网卡时, 终端里输入 lsusb 插上USB无线网卡, 终端里再次 ...

  8. 搜狗输入法 for linux安装失败,Ubuntu 16.04下安装sogou拼音输入法的错误问题

    引言:sogou输入法是市场上最为好用和流行的输入法,最为良心的是还有Linux版本,这让我等Linux人士欢呼雀跃.在新出的Ubuntu 16.04上安装sogou输入法的时候,碰到了一些问题,主要 ...

  9. 在Ubuntu 16.04下安装Matlab 2017a

    2019独角兽企业重金招聘Python工程师标准>>> 本次安装过程很大程度上参考了http://blog.csdn.net/dr_destiny/article/details/5 ...

  10. 谷歌浏览器linux 64怎么安装插件,Ubuntu 16.04下安装64位谷歌Chrome浏览器

    1.进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或 ...

最新文章

  1. centos7.3挂在移动硬盘(亲测)
  2. RESTful Web 服务 - 方法
  3. 从像素坐标到相机坐标_【视觉知识】机器视觉几何坐标概论
  4. 用python玩转数据测试与作业_用Python玩转数据分析10
  5. qt获取场景的缩略图
  6. 数据结构与算法笔记(三) 线性表(链式描述) 链表
  7. Flexbox 布局教程
  8. java zinterstore_Java架构之Redis系列:通过文章点赞排名案例学习Sortedset命令
  9. ipad分屏功能怎么开启_win10录屏功能怎么开启
  10. 原型工具axure7.0下载及汉化
  11. Chrome打不开网页及设置的解决方法
  12. js如何获取计算机当前时间,js获取当前系统时间实例代码
  13. 塔尔寺景点门票销售管理系统
  14. 阿里云服务器防火墙的问题
  15. 这可能是最简单,精炼,有效的magisk 安装教程,附boot.img 提取方法
  16. 标梵微信小程序开发价格之做一个小程序要多少钱?
  17. 地图坐标转换问题--百度地图定位偏
  18. 微信小程序使用canvas画布
  19. 在互联网行业断断续续这四年间
  20. 用java实现简单的银行管理系统

热门文章

  1. js对文字的修饰 big() small() fixed() toUpperCase() toLowerCase()
  2. SqlParameter类——带参数的SQL语句
  3. vue中 key 值的作用
  4. python-16: time 模块 之一
  5. 【php】利用php的构造函数与析构函数编写Mysql数据库查询类 (转)
  6. JavaWeb出现404一个很隐蔽的原因
  7. 冲刺周期一--站立会议05
  8. token令牌防止重复提交
  9. WinForm模拟单击按钮两种方法
  10. Maven 本地仓库明明有jar包,pom文件还是报错解决办法(Missing artifact...jar)