在rosrun之后无法找到下面命名的可执行文件

时间:2016-04-18 13:53:09

标签: ros

要了解ROS,我会关注Learning ROS for Robotics Programming,但在执行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

  3. 时,此路径不存在

    以下是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

    时没有失败

    enter image description here

    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文件的末尾。

    如果需要进一步的信息,请告诉我,并感谢您抽出时间来解决我的问题。

2 个答案:

答案 0 :(得分:1)

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

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

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

~/$ chmod 777 <文件名>

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

答案 1 :(得分:0)

您可以检查CMakeLists.txt。

添加

catkin_package()

在CMakeLists.txt中,然后再次编译