Rosrun не работает после поиска своего рабочего пространства - PullRequest
0 голосов
/ 06 октября 2018

Я следую ROS-учебнику , и после создания моего собственного пакета я сталкиваюсь со следующим поведением: Если я пытаюсь выполнить какой-либо установленный пакет (например, any_package), я получаю следующую ошибку:

[rosrun] Couldn't find executable named <any_package> below /opt/ros/kinetic/share/<any_package>
[rosrun] Found the following, but they're either not files
[rosrun] or not executable:
[rosrun]   /opt/ros/kinetic/share/<any_package>

Любая помощь?

РЕДАКТИРОВАТЬ: Если я выполню catkin_find --without-underlays --libexec --share <any_package>, это даст мне следующий вывод:

Multiple packages found with the same name "my_package":
- my_new_package/my_package
- my_new_package/my_package_2

Ответы [ 2 ]

0 голосов
/ 02 августа 2019
You have to make sure you edit CmakeLists.txt according to your compile version, c++ executable declaration & Specify libraries to link a library

Below are step step modification and then run catkin_make before running your project:

step 1
add_compile_options(-std=c++11)

step 2
## Declare a C++ executable
## With catkin_make all packages are built within a single CMake context
## The recommended prefix ensures that target names across packages don't collide
add_executable(${PROJECT_NAME}_node src/myproject_node.cpp)

step 3

## Specify libraries to link a library or executable target against
target_link_libraries(${PROJECT_NAME}_node
   ${catkin_LIBRARIES}
 )
0 голосов
/ 06 октября 2018

Я предполагаю, что у вас испорченное рабочее пространство.Я предполагаю, что вы только что скопировали my_package в my_package_2 без редактирования файла package.xml в my_package_2.На самом деле это не упоминается в учебнике , поскольку предполагается, что вы используете правильные команды, которые создают файл манифеста с уникальным именем пакета.Просто измените имя тега следующим образом:

<name>my_package</name>

в

<name>my_package_2</name>

в соответствующей папке.

...