在 rosrun 后找不到名为以下的可执行文件

问题描述 投票:0回答:4

为了学习ROS,我按照学习ROS进行机器人编程,但是在执行

rosrun chapter2_tutorials example1_a
时出现以下错误:

Couldn't find executable named 'example1_a' below /home/MYNAME/catkin_ws/src/learningROS/chapter2_tutorials

但是,

  1. 这个路径存在于

    ROS_PACKAGE_PATH
    (我回显这个环境变量来确认);

  2. 执行时该路径不存在

    rosstack profile

这是ROS集列表:

ROSLIST_PACKAGE_DIRECTORIES="/home/MY_NAME/catkin_ws/devel/share/common-list"

ROS_DISTRO="jade"

ROS_ETC_DIR="/opt/ros/jade/etc/ros"

ROS_PACKAGE_PATH="home/MY_NAME/catkin_ws/src:opt/ros/jade/share:/opt/ros/jade/stacks"

ROS_ROOT="/opt/ros/jade/share/ros"

而且执行时也没有失败

rosmake chapter2_tutorials
:

但是

chapter2_tutorials
下没有
~/catkin_ws/devel/lib/

我使用的CMakeLists来自

https://github.com/AaronMR/Learning_ROS_for_Robotics_Programming/blob/master/chapter2_tutorials/CMakeLists.txt.

我补充一下

rosbuild_add_executable(example1_a example1_a.cpp)

rosbuild_add_executable(example1_b example1_b.cpp)

在此 CMakeList 文件的末尾。

如果需要任何进一步的信息,请告诉我,感谢您花时间回答我的问题。

ros
4个回答
3
投票

您可以检查CMakeLists.txt。

添加

catkin_package()

在CMakeLists.txt中并再次编译


1
投票

这可能有帮助: 解决方案1:

转到文件位置。 右键单击该文件 --> 属性。 转到权限选项卡:选中可执行文件复选框。

解决方案2: 导航到终端中的文件位置:

~/$ chmod 777

参考:https://www.maketecheasier.com/file-permissions-what-does-chmod-777-means/


0
投票

您可以尝试以下命令:

~$ rosrun chapter2_tutorials chap2_example1_a

因为在

CMakelists.txt
中,可执行文件的名称不是“
example1_a

add_executable(chap2_example1_a src/example1_a.cpp)
add_executable(chap2_example1_b src/example1_b.cpp)

0
投票

我在ros中使用python2

我的脚本第一行是:

#!/usr/bin/env

我添加Python如下:

#!/usr/bin/env python

它解决了问题,rosrun可以运行可执行的.py文件

© www.soinside.com 2019 - 2024. All rights reserved.