鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    复现一个ROS2项目,过程中报错tf2中缺少相应成员函数

    已定时 已固定 已锁定 已移动
    ROS 2相关问题
    ros2 ros2 humble
    2
    2
    261
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 7448046437
      744804643
      最后由 编辑

      ros2_humble/install/tf2_ros/include/tf2_ros/tf2_ros/buffer.h:75:51: error: ‘BUFFER_CORE_DEFAULT_CACHE_TIME’ is not a member of ‘tf2’
      75 | tf2::Duration cache_time = tf2::Duration(tf2::BUFFER_CORE_DEFAULT_CACHE_TIME),
      4dd51b9d-874c-48c2-a492-726fff62be5c-image.png

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        在 ROS 2 中遇到关于 tf2 库的错误,特别是关于缺少成员函数的错误,通常是因为版本不兼容或者 API 更改导致的。从错误信息来看,BUFFER_CORE_DEFAULT_CACHE_TIME 这个常量在当前的 tf2 库版本中不存在。

        解决步骤

        1. 检查 ROS 2 版本和 tf2 版本:
          确保你使用的 ROS 2 版本(这里是 Humble)和 tf2 的版本是兼容的。ROS 2 的不同发行版(如 Foxy, Galactic, Humble 等)可能会包含不同版本的库,包括 tf2。

        2. 查阅文档和源代码:
          查看当前 tf2 版本的源代码或文档,确认 BUFFER_CORE_DEFAULT_CACHE_TIME 是否已经被移除或重命名。你可以通过以下方式访问源代码:

          • 在 GitHub 上查找 tf2 的仓库。
          • 查看你的系统中安装的 tf2 源代码(通常在 /opt/ros/<distro>/include/tf2/ 下)。
        3. 更新或修改代码:

          • 如果 BUFFER_CORE_DEFAULT_CACHE_TIME 已经被移除,你可能需要手动设置一个默认值。通常,这个值是用来设置 tf2 buffer 的缓存时间。
          • 你可以尝试将代码中的 tf2::BUFFER_CORE_DEFAULT_CACHE_TIME 替换为一个具体的秒数,例如 10.0(表示10秒):
            tf2::Duration cache_time = tf2::Duration(10.0);
            
          • 确保这个更改与你的应用逻辑相符。
        4. 重新编译项目:
          在做了上述更改后,重新编译你的 ROS 2 项目。确保所有依赖都正确链接,并且没有其他的编译错误。

        5. 测试:
          运行你的项目,确保 tf2 的功能按预期工作。特别是检查与时间相关的功能,因为缓存时间的更改可能会影响这些功能。

        6. 报告问题:
          如果你认为这是一个 tf2 的 bug 或者文档需要更新,考虑在 tf2 的 GitHub 仓库中提交一个 issue。

        注意事项

        • 在修改第三方库或依赖的代码时,要谨慎,因为这可能会影响到其他依赖该库的项目。
        • 确保你的开发环境(包括 ROS 2 和所有依赖库)都是最新的,或者至少是你项目所支持的版本。

        通过上述步骤,你应该能够解决关于 tf2::BUFFER_CORE_DEFAULT_CACHE_TIME 的编译错误,并使你的 ROS 2 项目能够成功编译和运行。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS