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

    有可执行文件,配置好环境无法rosrun找到

    已定时 已固定 已锁定 已移动
    学习资源
    ros rosrun 功能包
    3
    4
    538
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 23076533502
      寒少
      最后由 编辑

      标题:

      有可执行文件,配置好环境无法rosrun找到

      背景:

      学习ros基础操作时发现

      问题描述:

      在ros中,配置好了环境变量,在~/gongzuomul/devel/lib下也有可执行文件,但是rosrun找不到

      具体细节和上下文:

      一、
      rosrun找不到可执行文件,在devel/lib/包/中已经生成.o可执行文件
      c92c1b73-1945-421b-9ea5-9d06c116d6b9-image.png
      在rosrun时没有相应可执行文件
      58dbf5a5-abac-43ab-9275-7b939232921d-image.png
      二、
      rosrun执行可执行文件是老文件,之前的turtle_new文件以及删除,新生成的为turtle_new1,但是rosrun找不到,而且仍然可以执行已经删除的turtle_new
      67d132de-19ab-446f-9f46-8cfa701a8da5-image.png

      尝试过的解决方法:

      • 使用catkin_make clean进行清除缓存
      • 删除build与devel文件夹再生成
      • 不断刷新环境变量
      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        在ROS(Robot Operating System)中,rosrun 命令用于运行某个ROS包的某个可执行文件。如果你遇到 rosrun 无法找到或运行你的可执行文件的问题,通常可能是由以下几个原因导致的:

        1. 环境变量未正确设置:

          • 确保你的 ROS_PACKAGE_PATH 环境变量包含了你的工作空间目录(例如 ~/gongzuomul)。
          • 重新启动你的终端或者重新加载 .bashrc 文件(使用 source ~/.bashrc),以确保所有环境变量更新。
        2. CMakeLists.txt 和 package.xml 配置错误:

          • 检查你的 CMakeLists.txt 文件,确保你已经正确添加了可执行文件的构建规则。
          • 确保你的 package.xml 文件中包含了 <build_depend> 和 <exec_depend> 标签,这些标签应该列出你的包依赖的其他ROS包。
        3. 可执行文件的位置:

          • 通常,ROS的可执行文件应该位于 devel/lib/<包名>/ 下的某个子目录中(如 bin 或 nodes),而不是直接在 lib 目录下。
          • 如果你的可执行文件直接位于 lib 目录下,这可能是导致 rosrun 找不到它的原因。尝试将你的可执行文件移动到 devel/lib/<包名>/bin/ 或 devel/lib/<包名>/nodes/ 目录下。
        4. 缓存问题:

          • 你已经尝试过使用 catkin_make clean 清除缓存,并删除 build 和 devel 文件夹。这是一个正确的步骤,但有时可能需要更彻底地清理。
          • 确保在重新构建之前,你的工作空间是干净的,没有旧的或未正确生成的文件。
        5. 旧的可执行文件缓存:

          • 如果 rosrun 仍然运行旧的可执行文件,这可能是因为旧的二进制文件仍然在你的 PATH 中,或者在某些缓存中。
          • 确保你的 PATH 环境变量没有包含旧的路径。
          • 尝试在终端中直接运行可执行文件(使用完整路径),看看是否运行的是新版本。
        6. 重新构建和安装:

          • 在删除 build 和 devel 文件夹后,确保你重新运行了 catkin_make 或 catkin build 来重新构建你的工作空间。
          • 如果你使用的是 catkin tools,确保你处于正确的工作空间目录中,并运行 catkin build。

        如果以上步骤仍然无法解决问题,可能需要更详细地检查你的ROS包的配置和构建日志,以找出可能的错误或不一致之处。


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

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

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

          @2307653350 看到了install目录,source install/setup.bash 然后再运行试试呢?

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

          23076533502 1 条回复 最后回复 回复 引用 1
          • 23076533502
            寒少 @小鱼
            最后由 编辑

            @小鱼 成功了,试了试还和VSCODE里面catkin_make的方式有关,以后注意下

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