You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ROS1迁移至ROS2:如何在ROS2中使用C++ serial库?

解决ROS2中serial库编译找不到的问题

ROS2官方apt源没有提供像ROS1那样的ros-<distro>-serial预编译包,所以你需要手动处理serial库的依赖,以下是两种可行方案:

方案1:将serial库作为包的子模块集成

  • 进入你的ROS2驱动包目录,执行命令添加子模块:
    git submodule add https://github.com/wjwwood/serial.git
    
  • 在包的CMakeLists.txt中,在add_executable之前添加:
    add_subdirectory(serial)
    
  • 在链接目标库时,替换原来的依赖配置为serial::serial:
    target_link_libraries(你的节点名称
      serial::serial
      rclcpp
      # 其他你的ROS2依赖
    )
    

方案2:手动编译安装serial库到系统

  • 克隆serial库源码:
    git clone https://github.com/wjwwood/serial.git
    cd serial
    mkdir build && cd build
    
  • 编译并安装到系统路径:
    cmake ..
    make -j$(nproc)
    sudo make install
    
  • 完成后,你的CMakeLists.txt中find_package(serial REQUIRED)就能正常找到库的配置文件,无需额外修改。

补充说明

ROS1中的ros-noetic-serial本质是官方将wjwwood/serial库打包成了ROS包,安装后会自动将CMake配置文件加入ROS的查找路径,所以find_package能直接生效。但ROS2没有提供这个预编译包,因此需要手动集成或安装该库。

内容的提问来源于stack exchange,提问作者Chase

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:02:55