怎么写ROS中的CMakeLists.txt?

您的CMakeLists.txt文件必须遵循此格式,否则您的软件包将无法正确构建。 配置中的顺序很重要。

  1. Required CMake Version (cmake_minimum_required)

  2. Package Name (project())

  3. Find other CMake/Catkin packages needed for build (find_package())

  4. Enable Python module support (catkin_python_setup())

  5. Message/Service/Action Generators (add_message_files(), add_service_files(), add_action_files())

  6. Invoke message/service/action generation (generate_messages())

  7. Specify package build info export (catkin_package())

  8. Libraries/Executables to build (add_library()/add_executable()/target_link_libraries())

  9. Tests to build (catkin_add_gtest())

  10. Install rules (install())


官网教程:

http://wiki.ros.org/action/fullsearch/catkin/CMakeLists.txt?action=fullsearch&context=180&value=linkto%3A%22catkin%2FCMakeLists.txt%22

博客文章

https://www.jianshu.com/p/75fa7b1f3938

https://blog.youkuaiyun.com/u013243710/article/details/35795841

CMakeLists.txtROS中用于构建和编译软件包的文件。下面是一个简单的CMakeLists.txt示例,它包含了一些常用的指令和变量: ``` cmake_minimum_required(VERSION 2.8.3) project(my_package) find_package(catkin REQUIRED COMPONENTS roscpp std_msgs ) catkin_package( INCLUDE_DIRS include LIBRARIES my_package CATKIN_DEPENDS roscpp std_msgs ) include_directories( include ${catkin_INCLUDE_DIRS} ) add_library(my_library src/my_library.cpp) target_link_libraries(my_library ${catkin_LIBRARIES}) add_executable(my_node src/my_node.cpp) target_link_libraries(my_node my_library ${catkin_LIBRARIES}) ``` 其中,指令和变量的含义如下: - `cmake_minimum_required(VERSION 2.8.3)`:指定CMake的最低版本要求。 - `project(my_package)`:指定工程名称。 - `find_package(catkin REQUIRED COMPONENTS roscpp std_msgs)`:查找必要的ROS组件。 - `catkin_package()`:声明catkin软件包,以便其他软件包可以查找到。 - `include_directories(include ${catkin_INCLUDE_DIRS})`:指定包含文件的目录。 - `add_library(my_library src/my_library.cpp)`:将my_library.cpp编译成库。 - `target_link_libraries(my_library ${catkin_LIBRARIES})`:链接库到ROS依赖库。 - `add_executable(my_node src/my_node.cpp)`:将my_node.cpp编译成可执行文件。 - `target_link_libraries(my_node my_library ${catkin_LIBRARIES})`:链接可执行文件到库和ROS依赖库。 以上是一个最基本的CMakeLists.txt示例,你可以根据你的需要修改它。更多关于CMakeLists.txt的信息,请查看ROS官方文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码的任逍遥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值