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

    qt ros执行报错;找不到可执行程序

    已定时 已固定 已锁定 已移动 未解决
    学习资源
    ros2 linux ros2 humble
    3
    3
    346
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • Z
      zzyros
      最后由 编辑

      我新建了一个ros2的功能包,src下面的代码是qt写的,colcon build可以生成可执行程序。但是ros2run的时候报错找不到可执行程序,手动执行可执行程序是可以的。```
      3073d401-3955-4c82-ad18-55872ac81939-截图 2024-12-24 17-25-03.png file:///home/zzy/%E5%9B%BE%E7%89%87/%E6%88%AA%E5%9B%BE/%E6%88%AA%E5%9B%BE%202024-12-24%2017-25-03.png

      0be964cc-4f5e-4234-b630-f297bb498706-截图 2024-12-24 17-26-52.png file:///home/zzy/%E5%9B%BE%E7%89%87/%E6%88%AA%E5%9B%BE/%E6%88%AA%E5%9B%BE%202024-12-24%2017-26-52.png

      d87fb118-d9c4-4d9d-a623-36c7c915b82a-截图 2024-12-24 17-28-13.png file:///home/zzy/%E5%9B%BE%E7%89%87/%E6%88%AA%E5%9B%BE/%E6%88%AA%E5%9B%BE%202024-12-24%2017-28-13.png

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

        在使用 ROS 2 和 Qt 一起开发时,如果遇到 ros2run 找不到可执行程序的问题,通常可能是因为以下几个原因:

        1. 可执行文件的路径问题:

          • 确保你的可执行文件被正确地构建在 ROS 2 的安装空间(install space)中。通常,使用 colcon build 后,可执行文件会位于 <workspace>/install/<package_name>/lib/<package_name> 或 <workspace>/install/bin 下。
          • 检查 setup.py 或 CMakeLists.txt 中是否正确设置了可执行文件的安装路径。
        2. 环境变量问题:

          • 确保你的 ROS 2 环境变量(如 ROS_INSTALL_SPACE 或 CMAKE_PREFIX_PATH)正确设置,并且包含了你的工作空间安装目录。
          • 使用 source <workspace>/install/setup.bash 来设置环境变量,确保 ros2run 能够找到你的包。
        3. package.xml 和 CMakeLists.txt/setup.py 配置:

          • 在 package.xml 中,确保你的 <buildtool_depend> 和 <exec_depend> 中包含了所有必要的依赖。
          • 在 CMakeLists.txt 或 setup.py 中,确保你正确声明了可执行文件。例如,在 CMakeLists.txt 中,你应该有类似 add_executable(my_executable src/main.cpp) 和 install(TARGETS my_executable DESTINATION lib/${PROJECT_NAME}) 的语句。
        4. 检查可执行文件的名称:

          • 确保你在 ros2run 命令中使用的包名和可执行文件名完全正确。例如,如果你的包名是 my_qt_package,可执行文件是 my_qt_app,则应该使用 ros2run my_qt_package my_qt_app。
        5. 重新构建和刷新环境:

          • 尝试清理你的构建目录(通常是 <workspace>/build),然后重新运行 colcon build。
          • 确保在每次修改 CMakeLists.txt、setup.py 或 package.xml 后都重新构建。
          • 每次切换工作空间或修改环境变量后,记得重新 source 相应的 setup.bash 文件。
        6. 检查日志和输出:

          • 仔细查看 colcon build 的输出,确保没有错误或警告。
          • 使用 ros2 pkg list 查看已安装的包列表,确认你的包已经正确安装。

        如果以上步骤都无法解决问题,建议检查你提供的截图(虽然这里无法直接查看图片内容),看看是否有更具体的错误信息或配置细节可以帮助诊断问题。此外,确保你的 ROS 2 和 Qt 的版本兼容,并且所有依赖都已正确安装。


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

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

        1 条回复 最后回复 回复 引用 0
        • 小鱼小
          小鱼 技术大佬 @zzyros
          最后由 编辑

          @zzyros 目录错了

          https://fishros.org.cn/forum/topic/151/提问前必看-不符合要求的问题拒绝回答

          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

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