当前位置: 首页 > news >正文

ubuntu20.04下出现protoc与gazebo版本问题

ubuntu20+protoc+gazebo

  • 问题描述
  • 问题定位
  • 解决方案

问题描述

  今天在搞路径规划算法时,从git上拉下来一个算法,ros环境那些都有,但是在编译的时候出现了如下图所示的一下问题:(为了方便搜索关键词)

    In file included from /usr/include/gazebo11/gazebo/msgs/MessageTypes.hh:91:0,
                 from /usr/include/gazebo11/gazebo/msgs/msgs.hh:24,
                 from /usr/include/gazebo11/gazebo/physics/Entity.hh:28,
                 from /usr/include/gazebo11/gazebo/physics/Model.hh:32,
                 from /home/thesis/gazebo_animate_pose/animate_pose.cc:4:
/usr/include/gazebo11/gazebo/msgs/wrench_stamped.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
/usr/include/gazebo11/gazebo/msgs/wrench_stamped.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
/usr/include/gazebo11/gazebo/msgs/wrench_stamped.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

请添加图片描述

问题定位

   通过错误描述,我就开始对我现有的版本就行确认,通过文件名称我确定gazebo版本是11:
通过下方命令进行确认:

dpkg -l | grep gazebo

protoc版本排查:(我的版本是3.21.4)

protoc --version

  然后进入**/usr/include/gazebo-11/gazebo/msgs**路径下,全局搜索关键字GOOGLE_PROTOBUF_VERSION,随便进去一个文件就可以看到如下图内容:
请添加图片描述

  我的protoc版本需求是** 3.6.1**,所以就是protoc降级问题。

解决方案

  1. 下载3.6.1版本的安装包:protobuf-all-3.6.1.tar.gz
  2. 解压并进入压缩包
  3. ./configure –prefix=/usr/local/
  4. sudo make
  5. sudo make check
  6. sudo make install
  7. protoc --version 查看最终的版本
    在这里插入图片描述

相关文章:

  • 南昌做网站电话/网络营销的方式
  • 全国公共信息服务平台/咸阳seo公司
  • 网站做优化一般几个字/找网络公司做推广费用
  • ppt设计灵感/seo智能优化公司
  • 罗湖网站建设的公司/品牌网络营销策划书
  • wordpress外贸商城/磁力链最佳的搜索引擎
  • 通信电子、嵌入式类面试题刷题计划03
  • [ECE]模拟试题-7
  • 作为java工程师这些概念要理清(一)
  • 安科瑞智能仪表在密集母线行业中的应用
  • nacos在国产银河麒麟系统飞腾CPU部署安装
  • PaddleNLP开源UTC通用文本分类技术,斩获ZeroCLUE、FewCLUE双榜第一
  • musl pwn 入门 (2)
  • HNUCM-蓝桥杯PythonB组寒假练习2
  • Python基础(二十五):异常处理基础知识
  • 测试开发知识总结(一)
  • ant-design V3升级V4记录(成功篇)
  • Spring Cloud Gateway从注册中心自动注册配置路由信息