Ubuntu18安装新版本PCL-1.13,并和ROS自带PCL-1.8共存

news2024/11/13 10:22:01

文章目录

  • 1.安装新版本PCL-1.13
  • 2.在工程中使用新版本的PCL-1.13
  • 3.pcl-1.13误装到`/usr/local/`下如何卸载

1.安装新版本PCL-1.13

  • 下载PCL-1.13代码
    在这里插入图片描述

  • 修改CMakeLists.txt文件,不编译vtk相关的代码vtk的问题比较难解决,但是一般我们安装pcl都是为了一些新特性的算法,而vtk就是可视化相关的,所以不要这部分也可以。,搜寻CMakeLists.txt中搜索vtk关键字,将有关vtk的都注释掉,再cmake,这样一来有关可视化的module就不会build了,也不需要依赖vtk

# Reset VTK_FOUND to off
# set(VTK_FOUND OFF)
# # Find VTK - VTK has to be found before Qt, otherwise it can overwrite Qt variables
# option(WITH_VTK "Build VTK-Visualizations" TRUE)
# if(WITH_VTK)
#   if(ANDROID)
#     message(WARNING "VTK is not supported on Android.")
#   else()
#     include("${PCL_SOURCE_DIR}/cmake/pcl_find_vtk.cmake")
#   endif()
# endif()
  • 新建安装路径:新建安装目录,/home/cc/MyLibInstall/pcl-1.13。注意这里最好不要安装到系统根目录下,也就是默认的/usr/local/下,因为经过我测试发现在自己的电脑上,如果安装到了/usr/local/下,最后链接pcl的库的时候会默认链接到这个路径下的库,也就是自己新安装的pcl-1.13的库。但是绝大部分工程都是使用ROS自带的pcl-1.8的,这个时候虽然编译可以通过,但是运行的时候会出错。所以保险的方式就是不要安装到/usr/local/下,而是安装到自己的用户目录下,然后特殊的工程需要使用pcl-1.13的,那么就在CMakeLists.txt中手动指定PCL的路径;而其他的绝大多数工程使用PCL-1.8就不用动了,仍然会链接到ROS自带的pcl-1.8中。

  • 创建编译文件夹并cmake:进入代码文件夹,mkdir build新建build文件夹。然后配置安装目录,即cmake -DCMAKE_INSTALL_PREFIX=/home/cc/MyLibInstall/pcl-1.13 ..,注意最后有个..,表示编译的CMakeLists.txt文件在当前build文件夹的上一层目录下。

  • 最后make install即可:因为这里我们安装到用户家目录下的,而非根目录下,所以不用sudo

2.在工程中使用新版本的PCL-1.13

  • 一般来说使用ROS自带的pcl-1.18的时候都会使用如下命令:
find_package(catkin REQUIRED COMPONENTS
	pcl_conversions
	pcl_ros
)

这样就会找的默认安装的pcl-1.8

  • 使用新版本的pcl-1.13,则需要把上述的语句注释掉,然后手动寻找pcl的库。因此写成如下形式:
find_package(catkin REQUIRED COMPONENTS
	# pcl_conversions
	# pcl_ros
)
set(PCL_DIR "/home/cc/MyLibInstall/pcl-1.13/share/pcl-1.13")   # PCLConfig.cmake所在的文件夹
find_package(PCL 1.13.0 REQUIRED)

这样后面就可以全部链接到pcl-1.13了,而不会链接到pcl-1.8

3.pcl-1.13误装到/usr/local/下如何卸载

如果新版本pcl-1.13误装到/usr/local/下,其他工程都会优先链接到这个版本的pcl。此时可以参考这篇博客:linux删除cmake源码编译安装的库,删除安装的新版本pcl-1.13,然后按照前面的方法重新安装即可。

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

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

相关文章

科技大势怎么看 2023怎么干?

2023年,科技的走向依旧是世界各国的关注重点,各国在纷纷设立自己的科技战略目标外,还在潜心研究不同技术领域的科技趋势,试图通过科技占据国际竞争的制高点。 随着我国深入实施创新驱动发展战略,推动产业结构优化升级&…

数据结构1——概念与程序复杂度

翻陈年老底翻到了之前的数据结构笔记,由于当时刚开始使用电脑记笔记,markdown语法用的还是不是很熟,以及技术上比较欠缺,望多多海涵。 来都来了,点个赞呗~ 数据结构大体框架 早期>>数值计算>>计算机元素…

配置主机名与ip的映射关系

本次进行简单的小实验 通过在windows上配置主机名与IP地址的映射关系,达到我们在xshell或其他远程连接设备上,不用IP地址登陆,只需要用主机名就能实现登陆的效果 配置 首先 需要查看自己虚拟机的IP地址,找到ens33或者ens160…

[项目] Boost搜索引擎

目录 1.项目相关背景 2.项目宏观原理 3.技术栈和项目环境 4.正排索引&&倒排索引 5.去标签与数据清洗 6.构建索引模块Index 6.1正排索引 6.2 建立倒排 jiebacpp使用 建立分词 7.搜索引擎模块Searcher Jsoncpp -- 通过jsoncpp进行序列化和反序列化 处理Cont…

Vscode中Vue文件保存格式化、 ElementUI、Font Awesome俩大插件使用

Vscode中Vue文件老一片红色出现格式错误??如何运行别人的项目(没有node_modules文件)??选用组件与图标?? 解决问题一 前提有:Prettier ESLint插件、ESLint插件 1.打开s…

Git图解-常用命令操作-可视化

目录 一、前言 二、初始化仓库 2.1 设置用户名与邮箱 2.2 初始化仓库 三、添加文件 四、查看文件状态 五、查看提交日志 六、查看差异 七、版本回退 八、删除文件 九、分支管理 9.1 创建分支 9.2 切换分支 9.3 查看分支 9.4 合并分支 十、文件冲突 十一、转视…

ROS从入门到精通系列(二十九)-- linux封装ROS 自启动脚本及可执行程序App

机器人分布式处理架构ROS分布式架构,HiBot架构主要使用C/S架构,其中HibotServer为服务器,Muqutte为消息服务器中间件,HiBotClient为运行在机器人上的客户端。主要实现了机器人任务的远程部署、监控、控制三大功能,机器人平台依赖于ROS。其架构如下图所示 Img Src: https:/…

第53篇-某商城sign参数分析-webpack【2023-03-07】

声明:该专栏涉及的所有案例均为学习使用,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!如有侵权,请私信联系本人删帖! 文章目录 一、前言二、网站分析三、完整代码一、前言 今天再来试一个webpack的例子吧,网址: aHR0cHM6Ly9tLnlxYi5jb20vYmFuay9…

【NLP相关】XLNET原理以及案例

❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…

类成员的方法

初识对象 生活中或是程序中,我们都可以使用设计表格、生产表格、填写表格的形式组织数据进行对比,在程序中: 设计表格,称之为:设计类(class) 打印表格,称之为:创建对象 …

C语言--一维数组

数组概念 数组:是一种构造数据类型,用以处理批量的同种类型的数据。 主要特点:数据量大 ,类型相同 一维数组的定义 语法: 类型说明符 数组名[整型常量表达式]; 注意: 方括号里面的内容用于指…

css3横向无限公告消息滚动功能

html部分 {{item}}css部分 .boxingeds{ display: flex; flex-wrap: wrap; width: 150%; position: relative; left: 1000rpx; padding: 30rpx 0; position: absolute; top: 23%; z-index: 2; -webkit-animation: myfirst 30s linear 2s infinite; .textname{ display: inlin…

数字三角形 购物单

题目: 题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边…

从0开始自制解释器——实现简单的加法计算器

为什么要学习编译器和解释器呢?文中的作者给出的答案有下面几个: 为了深入理解计算机是如何工作的:一个显而易见的道理就是,如果你不懂编译器和解释器是如何工作的那么你就不明白计算机是如何工作的编译器和解释器用到的一些原理…

InnoDB——详细说明索引中B+树的操作和原理

本内容针对Mysql5.x; 索引是应用程序设计和开发的一个重要方面。 若索引太多,应用程序的性能可能会收到影响。 而索引太少,对查询性能又会产生影响。 索引的注意事项: 如果知道数据的使用,从一开始就应该在需要处添加…

车企数据分类分级的实践指南出炉!“数据安全推进计划”发布,奇点云参编

日前,“数据安全推进计划”(DSI)正式发布《智能网联汽车数据分类分级实践指南》(下文简称“指南”),旨在以合规为主要导向,明确智能网联汽车数据分类分级的方法论,为数据全生命周期的…

每日学术速递3.7

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.CV 1.Dropout Reduces Underfitting 标题:Dropout 减少欠拟合 作者:Zhuang Liu, Zhiqiu Xu, Joseph Jin, Zhiqiang Shen, Trevor Darrel 文章链接:h…

SpringBoot(Tedu)—DAY01——环境搭建

SpringBoot(Tedu)—DAY01——环境搭建 目录SpringBoot(Tedu)—DAY01——环境搭建零、今日目标一、IDEA2021项目环境搭建1.1 通过 ctrl鼠标滚轮 实现字体大小缩放1.2 自动提示设置 去除大小写匹配1.3 设置参数方法自动提示1.4 设定字符集 要求都使用UTF-8编码1.5 设置自动编译二…

controller-runtime搭建operator开发环境

目录 基本结构 注入CRD 基本结构 首先下载相应的go pkg go get -u sigs.k8s.io/controller-runtime 接下来需要创建控制器和Manager Operator的本质是一个可重入的队列编程模式,而Manager可以用来管理Controller、Admission Webhook,包括访问资源对…

MATLAB算法实战应用案例精讲-【优化算法】樽海鞘群算法(SSA)及其算法变种(附matlab代码实现)

目录 前言 算法原理 算法思想 数学模型 (1)种群初始化 (2)领导者位置更新 (3)跟随者位置更新 代码实现 算法流程图 算法步骤 伪代码 SSA伪代码 MSSA伪代码 面向全局搜索的自适应领导者樽海鞘群算…