ros2编写cmakelists
时间: 2024-12-18 17:18:36 浏览: 22
ROS 2(Robot Operating System 2)的 CMakeLists.txt 文件是构建工具用于配置项目结构、依赖项以及生成构建目标的关键文件。它位于项目的根目录下,对于每个 ROS 工程来说都是必不可少的。CMakeLists.txt 的作用如下:
1. **项目设置**:指定工程名称、版本等基本信息,并设置构建系统(如 CMake)。
```cpp
cmake_minimum_required(VERSION 3.5)
project(MyRosProject)
```
2. **添加工作空间**:如果你的项目在一个更大的 ROS 2 工作空间中,需要告知 CMake 关联到这个工作空间。
```cpp
find_package(rclcpp REQUIRED)
```
3. **添加源文件和头文件目录**:列出项目的源代码和头文件位置。
```cpp
add_executable(my_node src/main.cpp src/my_node.cpp)
include_directories(include)
```
4. **依赖库和包**:如果项目依赖其他 ROS 包,通过 `target_link_libraries` 指定链接它们。
```cpp
target_link_libraries(my_node rclcpp)
```
5. **构建规则**:指示 CMake 如何编译、链接和打包项目。
```cpp
add_dependencies(my_node ${rclcpp_LIBRARIES})
```
6. **安装选项**:可以设置是否安装二进制文件和数据文件。
```cpp
install(TARGETS my_node DESTINATION bin)
install(DIRECTORY include ${PROJECT_NAME} DESTINATION include)
```
阅读全文