Ubuntu 16.04下安装 PCL简单方法
目录
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
- sudo updatedb
- locate eigen3
- 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 源码包 安装
- mkdir build
- cd build
- cmake ..
- make install
Ubuntu 16.04下安装 PCL简单方法相关推荐
- Ubuntu 16.04 下安装运行 Suricata
介绍 Suricata是一个免费.开源.成熟.快速.健壮的网络威胁检测引擎.Suricata引擎能够进行实时入侵检测(IDS).内联入侵预防(IPS).网络安全监控(NSM)和离线pcap处理.Sur ...
- Ubuntu 16.04下安装Caffe(GPU版本 GTX970)
Ubuntu 16.04下安装Caffe(GPU版本 GTX970) 个人分类: Deep Learning 2018年8月6日更新说明:距上次安装成功没多久,显卡驱动莫名失效,没有解决,索性重装了系 ...
- Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使)
Ubuntu 16.04 下安装VMware Tools(三行命令搞定,亲测好使): 第一行命令:sudo apt-get upgrate 第二行命令:sudo apt-get install ope ...
- ubuntu 16.04下安装mysql
ubuntu 16.04下安装mysql 从官网下载mysql-apt-config_0.8.12-1_all.deb,下载地址为:https://dev.mysql.com/downloads/re ...
- Ubuntu 16.04 下安装网易云
Ubuntu 16.04 下安装网易云 目录 一.下载 二.开始安装 三.安装完成 四.运行 一.下载 官网看不到下载16.04的链接,只有18.04,但是依旧可以访问到,地址为: http://s1 ...
- Ubuntu 16.04下安装ffmpeg和opencv的安装与简介
文章目录 ffmpeg简介 资料准备 0. 检查依赖yasm与gcc,以及pkg-config 1. 下载ffmpeg 2. 解压进入解压目录 3. 准备执行编译配置操作,执行如下操作 4. 编译与安 ...
- (已解决) Ubuntu 16.04 下安装和使用 TP-Link 的USB无线网卡
在 Ubuntu 16.04 下使用 TP-Link USB无线网卡的通用方法 第一步: 查看 TP-link 网卡具体型号 未插无线网卡时, 终端里输入 lsusb 插上USB无线网卡, 终端里再次 ...
- 搜狗输入法 for linux安装失败,Ubuntu 16.04下安装sogou拼音输入法的错误问题
引言:sogou输入法是市场上最为好用和流行的输入法,最为良心的是还有Linux版本,这让我等Linux人士欢呼雀跃.在新出的Ubuntu 16.04上安装sogou输入法的时候,碰到了一些问题,主要 ...
- 在Ubuntu 16.04下安装Matlab 2017a
2019独角兽企业重金招聘Python工程师标准>>> 本次安装过程很大程度上参考了http://blog.csdn.net/dr_destiny/article/details/5 ...
- 谷歌浏览器linux 64怎么安装插件,Ubuntu 16.04下安装64位谷歌Chrome浏览器
1.进入 Ubuntu 16.04 桌面,按下 Ctrl + Alt + t 键盘组合键,启动终端. 也可以按下 Win 键(或叫 Super 键),在 Dash 的搜索框中输入 terminal 或 ...
最新文章
- centos7.3挂在移动硬盘(亲测)
- RESTful Web 服务 - 方法
- 从像素坐标到相机坐标_【视觉知识】机器视觉几何坐标概论
- 用python玩转数据测试与作业_用Python玩转数据分析10
- qt获取场景的缩略图
- 数据结构与算法笔记(三) 线性表(链式描述) 链表
- Flexbox 布局教程
- java zinterstore_Java架构之Redis系列:通过文章点赞排名案例学习Sortedset命令
- ipad分屏功能怎么开启_win10录屏功能怎么开启
- 原型工具axure7.0下载及汉化
- Chrome打不开网页及设置的解决方法
- js如何获取计算机当前时间,js获取当前系统时间实例代码
- 塔尔寺景点门票销售管理系统
- 阿里云服务器防火墙的问题
- 这可能是最简单,精炼,有效的magisk 安装教程,附boot.img 提取方法
- 标梵微信小程序开发价格之做一个小程序要多少钱?
- 地图坐标转换问题--百度地图定位偏
- 微信小程序使用canvas画布
- 在互联网行业断断续续这四年间
- 用java实现简单的银行管理系统
热门文章
- js对文字的修饰 big() small() fixed() toUpperCase() toLowerCase()
- SqlParameter类——带参数的SQL语句
- vue中 key 值的作用
- python-16: time 模块 之一
- 【php】利用php的构造函数与析构函数编写Mysql数据库查询类 (转)
- JavaWeb出现404一个很隐蔽的原因
- 冲刺周期一--站立会议05
- token令牌防止重复提交
- WinForm模拟单击按钮两种方法
- Maven 本地仓库明明有jar包,pom文件还是报错解决办法(Missing artifact...jar)