【Ubuntu20.04】ROS noetic的g2o与系统g2o冲突问题

news2024/10/6 0:27:27

文章目录

  • 0.问题描述
  • 1.问题原因
  • 2.解决方法
    • 2.1.方法1
    • 2.1.方法2
  • 3.成功效果

0.问题描述

\qquad 从github安装2023版本的g2o时,若ROS也安装了g2o,则会在编译时触发运行时冲突。具体表现为段错误,如若需要排查是否为ROS的g2o导致,则需要在C++编译时加上flags "-g -fsanitize=address"。还有一种办法是查看可执行文件链接的库是否包含ros版本的g2o,具体操作为ldd xxx/xxx.so | grep -i g2o,若查找到/opt/ros/noetic/lib/libg2o_xxx等字样则可归为此类问题。
在这里插入图片描述

1.问题原因

gedit ~/.bashrc,查看是否包含命令source /opt/ros/noetic/setup.bash
如若包含,再次在终端检查LD_LIBRARY_PATH环境变量是否包含ROS的PATH:

printenv LD_LIBRARY_PATH

如若包含/opt/ros/noetic/lib,则是ROS的shell命令修改环境变量所致。

2.解决方法

2.1.方法1

根据上述的分析,解决问题的方案很简单,只需要在编译工程的终端加入

export LD_LIBRARY_PATH=""

使得全局查找library的时候避免ROS即可。如果LD_LIBRARY_PATH还有工程需要的路径,也可以赋其他值。

2.1.方法2

在CMakeLists.txt中加入shell命令,使得工程具有通用性:

execute_process(COMMAND export LD_LIBRARY_PATH="")

友情提示,重编译时请删除build文件夹即所有动态链接库缓存,否则会从CMakeCache.txt中直接调用g2o的路径。编译完成后使用ldd命令再次检查可执行文件是否包含正确的g2o库,如若通过github的g2o按照,应该链接到/usr/local/lib/g2o下的g2o动态链接库。

3.成功效果

通过ldd xxx | grep -i g2o查看链接库时成功链接至自己安装的路径。需要注意,整个安装过程,请不要打开新的终端,以免造成环境变量污染。
在这里插入图片描述

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

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

相关文章

MySQL:存储过程与函数、视图

一、学习目标 掌握如何创建存储过程掌握如何创建存储函数熟悉变量的使用方法熟悉如何定义条件和处理程序了解光标的使用方法掌握流程控制的使用掌握如何调用存储过程和函数熟悉如何查看存储过程和函数掌握修改存储过程和函数的方法熟悉如何删除存储过程和函数掌握创建存储过程…

知识推理——CNN模型总结(一)

记录一下我看过的利用CNN实现知识推理的论文。 最后修改时间:2023.05.12 目录 1.ConvE 1.1.解决的问题 1.2.优势 1.3.贡献与创新点 1.4.方法 1.4.1 为什么用二维卷积,而不是一维卷积? 1.4.2.ConvE具体实现 1.4.3.1-N scoring 1.5.…

TiDB x CAPCOM | 为在线游戏提供灵活、可靠、可扩展的数据库服务

通过 TiDB 连接全球极限场景和创新场景,是 PingCAP 长期坚持的国际化战略。目前,在全球已有超过 3000 家企业选择 TiDB。无论在游戏、金融、物流、互联网还是智能制造等行业,基于规模化 OLTP 扩容、实时 HTAP 分析等应用场景,Ping…

在idea工具下,使用protobuf自动生成java代码,超详细教程

新项目需要使用google protobuf 生成java代码 开始第一步,网上很多教程都说下载protobuf support插件,但是我下载了很多idea版本,就是找不到这个protobuf support 插件 在idea 中选择file ->settings ->plugin , 搜索protobuf,一般都…

[SWPUCTF] 2021新生赛之Crypto篇刷题记录(11)

[SWPUCTF] 2021新生赛之Crypto篇刷题记录① [SWPUCTF 2021 新生赛]crypto6[SWPUCTF 2021 新生赛]ez_caesar[SWPUCTF 2021 新生赛]crypto10[SWPUCTF 2021 新生赛]pigpig[SWPUCTF 2021 新生赛]traditional NSSCTF平台:https://www.nssctf.cn/ PS:记得所有…

渤海银行有点火,李伏安有点烦

文丨新熔财经 作者丨向雪徊 5月8日,大连银保监局连开七份罚单,处罚对象为渤海银行股份有限公司大连分行及相关责任人。 大银保监罚决字〔2023〕27号显示,渤海银行大连分行存在五项主要违法事实:一是未执行统一授信;…

【敬伟ps教程】套索、魔棒工具、快速选择工具、选区的编辑和调整

文章目录 套索工具自由套索多边形套索磁性套索工具 魔棒工具快速选择工具选区的编辑和调整 套索工具 自由套索 套索工具的用法,点击鼠标左键拖动鼠标建立选区。当选区没闭合时,松开鼠标会自动闭合选区。套索工具灵活快速但不够准确。套索工具的选项栏是…

拥有Type-C接口的显示器上 绝大多数人都不知这么大作用

大多数的数码爱好者认识Type-C接口,估计都是从2015年的安卓手机开始的。 但估计不少用户不知道的是,电脑端的显示器上也有Type-C接口。 如果你是一个刚入门想买显示器的朋友,下面可以分别看看显示器最常见的几种接口的介绍,结合你…

Sentinel 入门使用

目录 一. Sentinel简介1.1Sentinel简介1.2 Sentinel与Hystrix的区别1.3 名词解释 二. sentinel控制台2.1 下载启动控制台2.3 客户端接入控制台2.4 Rest整合Sentinel2.5 Feign 整合Sentinel 想了解Sentinel具体的使用规则就点这里呀!!! 一. Se…

FISCO BCOS v3.3.0发布,新增块内分片技术,单链性能突破10万TPS

FISCO BCOS开源社区一贯秉承开源、开放、联合共建的原则,致力于链接社区力量将FISCO BCOS打造成更加完美的区块链底层平台。 作为FISCO BCOS开源社区重要的发起者和推动者,微众区块链持续参与开源生态共建。在社区通力协作下,FISCO BCOS v3.…

【Linux】RK3399平台开发系列——设备树的学习笔记

学习内容 RK3399平台开发系列讲解(设备树篇)设备树的详解 - 视频介绍 简介 设备树(Device Tree)是用于描述硬件设备和系统关系的树形数据结构,主要用于 Linux 操作系统中的设备驱动程序。在嵌入式系统中&#xff0c…

ARM和X86、X86和X64、Intel和AMD、CPU和GPU介绍

一、ARM和X86 X86 和 ARM 都是CPU设计的一个架构。X86 用的是复杂指令集。ARM用的是精简指令集。 指令集其实就是机器码,机器码上是汇编,汇编之上是程序语言例如java、c、c#。 复杂指令集是在硬件层面上设计了很多指令,所以编程会简单些。 精…

ChatGLM是什么?ChatGLM和ChatGPT有什么区别?

ChatGLM是什么? ChatGLM是清华技术成果转化的公司智谱AI研发的支持中英双语的对话机器人。ChatGLM基于GLM130B千亿基础模型训练,它具备多领域知识、代码能力、常识推理及运用能力;支持与用户通过自然语言对话进行交互,处理多种自…

IS210WSVOH1AE直流发电机的种类 ? 直流发电机中换向器的用途

​ IS210WSVOH1AE直流发电机的种类 ? 直流发电机中换向器的用途 什么是直流发电机 通过使用直流发电机,我们可以发电,发电机 4个作用是将机械能转化为电能。直流发电机主要用于特殊应用或本地发电,直流发电机的运行特性非常重要,…

企业快递管理软件使用教程

想要分析企业快递管理软件的作用,首先要明白,企业快递管理的大致情况,以及面临的难题是什么? 随着经济的发展,以及快递行业的不断前行。因公寄件早已成了企业运作必不可少的环节之一,试问哪家企业没有寄递…

vue项目中echarts自适应问题高级解决方案

一、问题描述 1.1 页面布局 项目首页中有多个echarts图表,如下图所示: 页面布局如下: index页面(绿框)是父页面,父页面中包含A页面(红框)和B页面(橙框)&…

黑客是怎么练成的(自学黑客四大知识点)

前言 网学黑客技术的人越来越多了,不少人都不知道该怎么学,今天就来详细的说一说黑客是如何炼成的。 首先,什么是黑客? 黑客 :泛指擅长IT技术的电脑高手 黑客一词,源自英文Hacker,早期其实就…

选择排序详解(Selection sort)

本文已收录于专栏 《算法合集》 目录 一、简单释义1、算法概念2、算法目的3、算法思想 二、核心思想三、图形展示四、代码实现1、优化之前2、优化之后 五、算法描述1、问题描述2、算法过程 六、算法分析1、时间复杂度2、空间复杂度3、算法稳定性 一、简单释义 1、算法概念 选择…

Web3中文|生成式 AI 参与的未来,行业该做好哪些准备?

依照 AI 技术目前的发展态势, AI 可能会颠覆诸多行业的未来。 当前 AI 技术的突破让大众关注到了特定类型的 AI ——生成式 AI。生成式 AI 围绕分析、自动化和内容生成展开,生成内容兼具质和量。 了解生成式 AI 如何融入实用应用程序的是非常有必要的。根…

并查集算法

文章目录 1. 原理介绍2. 并查集的应用3. find()函数的定义与实现4. 并查集的join函数5. 路径压缩优化算法-优化find6. 路径压缩优化算法按秩合并算法 1. 原理介绍 并查集是一种用于维护集合关系的数据结构,它支持合并集合和查询元素所在的集合。它的基本思想是将元…