使用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()