Ubuntu18.04安装PCL(详细教程)

Ubuntu18.04安装PCL(详细教程)

Ubuntu18.04安装PCL

Ubuntu18.04安装ROS的版本为ros-melodic
Ubuntu16.04安装ROS的版本为ros-kinetic

下面介绍Ubuntu18.04下安装ros-melodic
(跟着步骤,一步一步走)

安装依赖

sudo apt-get update  
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common 
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev 这个需要自己下载正确版本安装
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1-qt libvtk7.1 libvtk7-qt-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre

ubuntu18.04libtk已经从网上说的5.10版本变成了7.10。当然随着时间的退役7.10也会被舍弃,这时我们要用到

sudo apt-cache search libvtk

我们用这行命令去搜索libtk的最新版本。
ubuntu18.04qt-sdk已经被舍弃,亲身测试不需要安装。


下载编译

下载就不用说了,这是网址https://github.com/PointCloudLibrary/pcl.git ,可手动下载也可用git下载

git clone https://github.com/PointCloudLibrary/pcl.git 

接下来进行编译

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

验证PCL是否安装成功

按照以上步骤直接生成.cpp文件运行会发现找不到头文件,原因是需要使用Cmake 编译(包括连接到PCL库等)
具体操作直接参照官网(http://pointclouds.org/documentation/tutorials/using_pcl_pcl_config.php#using-pcl-pcl-config
步骤包括:
(1).在project 文件夹下生成 pcd_write.cpp(见官网上提供的链接)
(2).生成 CMakeLists.txt,直接复制一下内容(不需要任何修改):

cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(MY_GRAND_PROJECT)
find_package(PCL 1.3 REQUIRED COMPONENTS common io)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write_test pcd_write.cpp)
target_link_libraries(pcd_write_test ${PCL_COMMON_LIBRARIES} ${PCL_IO_LIBRARIES})

然后编译运行

cd /PATH/TO/MY/GRAND/PROJECT (project 所在的文件夹)
mkdir build
cd build
cmake ..
make
./pcd_write_test

安装完成,尽情享受PCL的魅力吧。


PCL卸载

卸载有问题的PCL1.7vtk bug等等,例如:不能显示深度图)

(这里描述的pcl1.7,具体版本请查看自己安装的对应版本)

sudo rm -r build
sudo rm -r /usr/include/pcl-1.7 /usr/share/pcl /usr/bin/pcl* /usr/lib/libpcl*

执行上述命令, 上述四个目录中,可能会找不到某些目录。可以自己去 usr 目录下搜索 关键字 pcl 或者 libpcl。本人在目录 /usr/libx86_64-linux-gnu 下找到 相关libpcl*文件,删除即可,删除命令同上。


致谢:

https://blog.csdn.net/qq_40022890/article/details/100786946
https://www.cnblogs.com/winslam/p/12074432.html
https://www.cnblogs.com/lifeofershisui/p/9037829.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2155.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql 读写分离_详解MySQL读写分离

    mysql 读写分离_详解MySQL读写分离主从复制的原理MySQL的主从复制和读写分离两者有着紧密的联系,首先要部署主从复制,只有主从复制完成了才能在此基础上进行数据的读写分离。读写分离的原理简单来说,读写分离就是只在主服务器上写,只在从服务器上读。基本原理是让主数据库处理事务性查询,而从服务器处理select查询。数据库复制被用来把事务性查询导致的变更同步到从数据库中。基于中间代理层实现:代理一般位于客户端和服务器之间,代理服务器接到客…

    2022年4月29日
    47
  • php递归算法经典实例_递归算法1加到100

    php递归算法经典实例_递归算法1加到100在前面的文章《PHP递归算法(一)》中,我们为大家介绍了如何利用静态变量的方法来实现递归算法。本篇文章我们就继续为大家介绍另一种实现递归算法的方法即通过全局变量的方法。下面我们结合代码示例,为大家介绍通过全局变量Global实现递归的方法。代码如下:…

    2022年8月11日
    4
  • IDEA中MAVEN项目如何打包JAR包「建议收藏」

    IDEA中MAVEN项目如何打包JAR包「建议收藏」这篇文章主要为大家展示了“IDEA中MAVEN项目如何打包JAR包”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“IDEA中MAVEN项目如何打包JAR包”这篇文章吧。Idea中为一般的非Web项目打Jar包是有自己的方法的,网上一搜就能查到很多。但是如果是为Maven项目打Jar包,其实是很简单的,因为maven本身就有打Jar包的命令。最简单的方法首先是在maven项目的pom.xml中添加打包的插件,这里有很多种方式的。最最简单的就是只使用m

    2022年6月22日
    821
  • java switch用法_Java switch语句

    java switch用法_Java switch语句Javaswitch语句用于从多个条件执行一个语句。它就像if-else-if语句一样。语法:switch(expression){casevalue1://codetobeexecuted;break;//optionalcasevalue2://codetobeexecuted;break;//optional……default://codetobee…

    2022年7月8日
    31
  • Java开发手册之索引规约「建议收藏」

    Java开发手册之索引规约「建议收藏」Java开发手册之索引规约

    2022年4月22日
    42
  • Redis监控之redis-stat安装与详解[通俗易懂]

    Redis监控之redis-stat安装与详解

    2022年2月8日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号