外观
踩坑GitHub agilexrobotics/ranger_ros11 个月前
ranger_ros catkin build编译报错asio::posix::basic_stre。
本文由 AI 根据公开内容整理,可能有误,请以原文为准:Compilation issue(GitHub agilexrobotics/ranger_ros #20)
状态:有绕过办法
问题
执行catkin build编译ranger_base时报错:async_can.hpp中asio::posix::basic_stream_descriptor<>未命名模板类型,提示是否意指stream_descriptor;同时相关声明也未找到。
环境
机型:AgileX RANGER MINI;软件栈:ranger_ros、ugv_sdk、scout_ros;构建工具:catkin build(失败)、catkin_make(可用);系统:Linux开发机。
解决办法
- 放弃使用
catkin build构建 ranger_ros 工作空间,该工具在当前环境下会触发 asio 模板类型解析错误及后续 CMake 目标定义冲突。 - 在工作空间根目录下改用
catkin_make命令进行编译,该方式已被验证可正常完成 ranger_base 及相关节点的构建。 - 避免手动向 scout_base 或 ranger_base 的 CMakeLists.txt 注入
ASIO_ENABLE_OLD_SERVICES等宏定义以修复 asio 兼容性,此操作会导致 target_compile_definitions 作用于非本项目的目标而引发新的 CMake 配置错误。
讨论原作者:@Saksham-Bhadani 等,版权归原作者所有。
来源
本页事实对应的公开页面,以原文为准。