ubuntu18.04中PCL点云库依赖的安装以及PCL点云库和Eigen的卸载与安装

news2024/10/7 16:27:00

                                一、PCL点云库依赖的安装、遇到问题的解决方法

sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all

 

以上是官方给出的,但是会出很多报错,这里建议自己配置。

配置步骤:

安装依赖:

先查询自己对应的版本:我是libvtk7.1

sudo apt-cache search libvtk

我的libflann是1.9,网上很多教程给的都是1.8,不修改会报错

步骤:

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.9 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

遇到的一些问题:

1. sudo apt-get update显示一堆InRelease

 解决方法:

sudo apt-get clean
sudo mv /var/lib/apt/lists /tmp
sudo mkdir -p /var/lib/apt/lists/partial
sudo apt-get clean
sudo apt-get update

2.有些教程会给sudo apt-get install libflann1.8 libflann-dev,经查询我的是1.9

3.sudo apt-get install libvtk7.1-qt libvtk7.1 libvtk7-qt-dev这一步报错:

这个问题的核心是:软件包有未满足的依赖关系。

 解决方法:

sudo apt-get install libvtk7-dev=7.1.1+dfsg1-2

如果还有类似报错,继续循环执行,几次后会解决。(注意对应Dev,java等)

sudo apt-get install libvtk7-qt-dev出错

 解决方法:

sudo apt-get install libvtk7-dev=7.1.1+dfsg1-2

 

  同理将libvtk7-dev改成libvtk7-java

sudo apt-get install libvtk7-java=7.1.1+dfsg1-2

 

 同理:

sudo apt-get install libvtk7-jni=7.1.1+dfsg1-2

  顺利安装该依赖。

4.关于有些教程里最后一步会安装sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre

执行会报错,这是因为18.04中qt-sdk已经被舍弃,不需要安装。

下载编译:

网址GitHub - PointCloudLibrary/pcl: Point Cloud Library (PCL) ,可手动下载也可用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  

make过程中特别卡甚至崩溃时,关闭虚拟机,改大内存,再开机试试。

安装:

sudo make install

验证:

cd /pcl/test
pcl_viewer car6.pcd

出现小汽车,就说明安装成功了!

 

                                                             二、 PCL和Eigen的卸载和安装

1、对已安装的PCL、Eigen库进行卸载

卸载当前的 PCL 库
假设目前电脑安装的 PCL 库位pcl-1.8版本,进行卸载命令式要注意根据查看到的库文件位置进行输入命令

sudo updatedb 
locate pcl-1.8  #查看pcl-1.8的位置
sudo rm -r /usr/include/pcl-1.8 /usr/share/pcl-1.8 /usr/bin/pcl* /usr/lib/libpcl*

 再次查看pcl-1.8位置

sudo updatedb 
locate pcl-1.8  #重新查看pcl-1.8的位置,已经没有了

卸载当前的 Eigen 库

sudo updatedb 
locate eigen3  #查看eigen3的位置
sudo rm -rf /usr/include/eigen3
sudo rm -rf /usr/lib/cmake/eigen3
sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/share/doc/libeigen3-dev 
sudo rm -rf /usr/local/share/pkgconfig/eigen3.pc /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums

 再次查看Eigen位置

sudo updatedb 
locate eigen3  #重新查看eigen3的位置,已经没有了

2、对目标版本的PCL、Eigen库进行安装
利用git下载相关的库文件,或者点击下面的链接地址到GitHub上进行选择相对应的版本,点击GitHub库中右侧的Release标签进去选择适应自己当前需求的版本

GitHub - PointCloudLibrary/pcl: Point Cloud Library (PCL)

 GitHub - eigenteam/eigen-git-mirror: THIS MIRROR IS DEPRECATED -- New url: https://gitlab.com/libeigen/eigen

PCL的相关安装(安装了相关的依赖)
(最新)Ubuntu18.04安装pcl点云库(遇坑大全,解决方法)_ubuntu安装pcl_和道一文字_的博客-CSDN博客

git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON \
      -DCMAKE_INSTALL_PREFIX=/usr ..
make -j4
sudo make install

如果不想装在/usr下,则最后一行-DCMAKE_INSTALL_PREFIX=/usr/local …

Eigen的相关安装

git clone https://github.com/eigenteam/eigen-git-mirror
cd eigen-git-mirror
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
sudo make install

如果不想装在/usr下,则最后一行-DCMAKE_INSTALL_PREFIX=/usr/local …

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502528.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Android学习专题】安卓样式学习(学习内容记录)

学习记录内容来自《Android编程权威指南(第三版)》 样式调整和添加 调整颜色资源(res/values/colors.xml) 格式: 添加样式(res/values/styles.xml),(创建BeatBox项目时…

开源狂潮让巨头惨败!谷歌内部文件曝光:我们和OpenAI都没有护城河

因为开源,AI军备竞赛,谷歌和OpenAI全是输家? 来源丨新智元 重磅! 谷歌的一份名为《我们没有护城河,OpenAI也没有》的内部文件疑似被泄露, 今天早上,外媒SemiAnalysis公布了这份重磅炸弹泄露…

日撸 Java 三百行day45

文章目录 说明day45 冒泡排序1. 基本思路2.代码 说明 闵老师的文章链接: 日撸 Java 三百行(总述)_minfanphd的博客-CSDN博客 自己也把手敲的代码放在了github上维护:https://github.com/fulisha-ok/sampledata day45 冒泡排序 …

IP地址技术原理

IP地址用于唯一地标识一个网络设备(如计算机、路由器等)在互联网或局域网中的位置。IP地址由32位二进制数表示,通常分为4个8位二进制数,每个数用点号隔开,如106.110.92.215。IP地址可用于数据传输、网络管理和安全控制…

Springboot +Flowable,服务任务ServiceTask执行的三种方式(一)

一.简介 ServiceTask 从名字上看就是服务任务,它的图标是像下面这样,截图如下: ServiceTask 一般由系统自动完成,当流程走到这一步的时候,不会自动停下来,而是会去执行我们提前在 ServiceTask 中配置好的…

托福高频真词List06 // 附阅读真题 14:26~15:12 // 15:12~16:12

目录 生词 熟词 阅读真题 生词 inducecausecause the formation of increasestimulate(导致) v 导致 inevitableunavoidable certainnecessary(不可避免地) adj 不可避免的accommodateallowv 顺应 modestreasonablesmall modera…

【Git 教程】—git指令详细解析,上机操作,简单易懂

目录 一. 集中式和分布式的区别 1. 集中式版本控制工具 2. 分布式版本控制工具 3. 基本概念 4. 配置信息 二. 创建本地仓库(git init) 三.基础指令 1. 获取git版本号 2.查看文件的状态 3. 查看提交记录 4. 版本回退 5. git reflog 6. .gitignore文件…

数据机房温湿度监控系统解决应用案例

机房温湿度监控系统之POE以太网温湿度传感器解决方案 物联网工业级高精度传感器 以太网智能RJ45温湿度传感器(POE12VDC供电型) 智 能 传 感 器 介 绍 目 录 一、关键词…………………………………………………………………………3 二、 产品概述…

51单片机 | DS18B20 温度传感器实验

系统设计 设计要求 (1) 主体电路包括晶振、复位、电源指示电路,预留程序下载接口; (2) 要求能够实现温度数值的自动显示,值根据实际温度变化自动变化。 (3) 并按照题目要求完成程序源码编写、调试及关键代码注释。 设计任务 使用给定硬件…

C++两个区间的比较?——STL之equal()算法和mismatch()算法

equal()算法 检验相等性 bool equal(InputIterator1 beg,InputIterator1 end,InputIterator2 cmpBeg)bool equal(InputIterator1 beg,InputIterator1 end,InputIterator2 cmpBeg,BinaryPredicate op) 第一形式判断区间…

mongodb命令使用

查询副本集当前状况(需要将命令行切换到需要查询的副本集中) rs.status() 查询数据库当前情况 sh.status() 查询数据分片情况 db.集合名称.getShardDistribution() 查看集合当前情况 db.集合名称.stats() 查看集合是否开启分片 db.集合名称.stats().sharded 查看mong…

Python网络编程(一)——了解IP和端口的基础知识以及socket的简单实现

系列文章目录 Python网络编程(一)——了解IP和端口的基础知识以及socket的简单实现 了解IP和端口的基础知识以及socket的简单实现 系列文章目录前言获取本机设备名和IP获取远程设备的IP地址将IPv4地址转换成以十六进制形式表示二进制数据获取端口的服务…

数据结构 -- 共用体Union

在数据结构 -- 结构体Struct一文中详细介绍了结构体的定义以及内存对齐。在C语言中,还有另外一种和结构体非常类似的语法,叫做共用体(Union),也称为联合体。它的定义格式为: union 共用体名{成员列表 };1. …

【CVPR红外小目标检测】红外小目标检测中的非对称上下文调制(ACM)

论文题目: Asymmetric Contextual Modulation for Infrared Small Target Detection 红外小目标检测中的非对称上下文调制 红外小目标数据集 目标个数分布:约90%图片中只有一个目标,约10%图片有多个目标(在稀疏/显著的方法中&am…

网文助手。

网文助手 简述 网文助手,免费高质量小说资料网站,支持笔记本和手机端,主要有以下功能。 随机生成小说男女姓名,和尊称随机生成地域和势力名称随机生成功法秘籍、招式战技、法宝兵器、丹药和阵法随机生成妖兽、凶地、天材地宝随…

Prometheus监控报警+Grafana loki日志聚合系统

Prometheus监控报警Grafana loki日志聚合系统 参考文档 https://blog.csdn.net/m0_57480266/article/details/121190725?spm1001.2101.3001.6650.1&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-121190725-blog-111992382.235%5Ev3…

二十一、线索转换3:线索的备注转化为客户联系人的备注

功能需求 3.线索的备注信息--》客户备注 4.线索的备注---》联系人备注 5.线索市场活动关系---》联系人市场活动关系 流程图 代码实现&#xff1a;线索的备注转化为客户联系人的备注 1.clueRemarkMapper /*** 根据线索id 查询备注2*/List<ClueRemark> selectInitialC…

Windows本地MySQL升级

一、删除原来的MySQL 删除 C:\Programs Files、C:\Programs Files(x86)、C:\ProgramData 中的所有MySQL目录 找到MySQL数据库中的data保存到其他位置&#xff0c;升级后可以恢复数据库数据 【备份数据】 删除注册表中MySQL的信息 计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet…

Py01·环境搭建

Python环境搭建 官网下载python3.7.3&#xff1a;https://www.python.org/downloads/release/python-373/ 配置系统环境变量目录&#xff1a; E:\ldtools\python3.7.3\python.exe E:\ldtools\python3.7.3\Scripts\pip.exe python.exe 运行环境 pip.exe 包管理器 安装mysql环…

TypeScript 最近各版本主要特性总结

&#xff08;在人生的道路上&#xff0c;当你的期望一个个落空的时候&#xff0c;你也要坚定&#xff0c;要沉着。——朗费罗&#xff09; TypeScript 官网 在线运行TypeScript代码 第三方中文博客 特性 typescript是javascript的超集&#xff0c;向javascript继承额外的编辑…