ROS2报错:‘no executable found’

使用colcon build编译一个读取激光数据的节点,编译成功了

也使用. install/setup.bash刷新了环境变量,但是tab不出来节点的名称,自己将节点名称输入到终端后运行提示找不到可执行文件,如下:

No executable found

定位原因,需要在CMakeLists.txt中进行一个注册的相关操作,${PROJECT_NAME}是节点的名称,如果有多个节点,就需要对多个节点都分别进行这种操作

install(
  TARGETS ${PROJECT_NAME}
  DESTINATION lib/${PROJECT_NAME}
)

完整的CMakeLists.txt文件如下:

cmake_minimum_required(VERSION 3.10)
project(lidar_process)

# find dependencies
find_package(ament_cmake REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(rclcpp REQUIRED)
find_package(PCL REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})

add_executable(lidar_process lidar_process.cpp)
ament_target_dependencies(lidar_process rclcpp sensor_msgs)
target_link_libraries(lidar_process ${PCL_LIBRARIES})

install(
  TARGETS ${PROJECT_NAME}
  DESTINATION lib/${PROJECT_NAME}
)

ament_package()

猜你喜欢

转载自blog.csdn.net/guanjing_dream/article/details/132874516