ROS CMakeLists.txt的编写学习

调用ROS中的函数,cmakelists的编写学习过程。如有错误,请留言指教。多谢

A.首先要了解的

 

 

 
        CMakeLists.txt是CMake的构建系统构建软件包的输入文件。任何兼容的CMake都包含了描述如何构建代码,并在根目录及子目录进行安装到一个或多个的CMakeLists.txt文件。用于catkin项目的CMakeLists.txt文件是有一些限制标准格式。

B.整体的结构及排序
 

                    自己编写的CMakeLists.txt必须遵循一定的格式,否则库文件无法正确编译的。cmake的一些命令都是按照一定的顺序编写的。

 

 

  1. Required CMake Version (cmake_minimum_required)//cmake版本

  2. Package Name (project()) //项目名称

  3. Find other CMake/Catkin packages needed for build (find_package()) //需要的库文件

  4. Message/Service/Action Generators (add_message_files(), add_service_files(), add_action_files()) //输出的信息,服务,及生成的东西

  5. Invoke message/service/action generation (generate_messages()) //生成信息~~~

  6. Specify package build info export (catkin_package()) //catkin的库文件

  7. Libraries/Executables to build (add_library()/add_executable()/target_link_libraries()) //库文件,生成文件及路径

  8. Tests to build (catkin_add_gtest())

  9. Install rules (install())

C.cmake版本

 

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ROSCMakeLists.txt教程可以帮助你学习如何编写CMakeLists.txt文件来构建ROS软件包。这个教程包括了ROS软件包的基本结构、如何编写CMakeLists.txt文件、如何使用catkin工具来构建ROS软件包等内容。通过学习这个教程,你可以更好地理解ROS软件包的构建过程,提高ROS开发的效率。 ### 回答2: ROS是一个流行的机器人操作系统,其基于C ++和Python编写的。编译ROS程序需要CMake,因此CMakeROS编译和构建系统的核心部分。在ROS中,每个程序都有一个名称,通常称为“包(Packages)”,这些包都包含一个cmakelists.txt文件来构建程序。 cmakelists.txt是一个包含了CMake参数的文件,这使得编译过程更加复杂,但也更加强大灵活。该文件通常包括以下部分: ##1. Required CMake Version: 此部分指定CMake的版本,示例:cmake_minimum_required(VERSION 2.8.3) ##2. Package Name and Version: 此部分是定义包名称和版本号,示例:project(ros_cpp_tutorials VERSION 0.0.1) ##3. Find Package: 此部分是部分现有的CMake模块,用于查找软件包及其任何依赖项,示例:find_package(catkin REQUIRED COMPONENTS roscpp) ##4. Declare ROS Messages and Services: 此部分用于声明包中的消息和服务文件,示例:add_message_files( FILES Num.msg ) ##5. Generate dynamic reconfigure parameters: 此部分用于自动配置程序,示例:generate_dynamic_reconfigure_options( cfg/Tutorials.cfg ) ##6. Define libraries and executables: 此部分构建包含每个库和可执行文件的ROS程序。示例:add_executable(talker src/talker.cpp) ##7. Declare dependencies: 此部分详细声明了程序所依赖的其他软件包,示例:target_link_libraries(talker ${catkin_LIBRARIES} ) ##Bonus. Add custom messages and services to your package: 此部分用于自定义ROS消息和服务,可以跳过学习。 最后,执行catkin_make命令,将cmakelists.txt和其他源文件编译成ROS程序。这里只是提供了一个非常基本的ROS程序构建教程,具体实现取决于要实现的程序。 ### 回答3: CMake是一款跨平台的自动化工具,可用于管理C或C++项目的构建过程。ROS CMakeLists.txt文件是用于ROS(Robot Operating System)项目构建的特定CMake文件。它包括ROS包所需的依赖项,编译源代码和库文件的指令以及构建和安装文件的指令。在ROS中,CMakeLists.txt文件通过Catkin构建系统来使用。 下面是一些关于ROS CMakeLists.txt教程的关键点: 1. 定义工作空间 要创建ROS工作区,请首先定义它。在CMakeLists.txt文件的顶部,您需要使用以下命令来设置工作空间: ``` cmake_minimum_required(VERSION 3.0.2) project(my_project) find_package(catkin REQUIRED) catkin_package() ``` 2. 添加依赖项 您需要将所有的依赖项添加到CMakeLists.txt文件中。例如,如果您希望使用ROS消息,请添加以下行: ``` find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs) ``` 在这个例子中,我们需要roscpp、rospy和std_msgs包。其中,roscpp和rospy是ROS的C++和Python编程接口,std_msgs是ROS的一个标准消息类型,用于传递简单类型数据(如int、float和string)。 3. 添加头文件和源代码 在CMakeLists.txt文件中添加源代码和头文件非常重要。添加源文件和头文件的方法如下: ``` include_directories(include ${catkin_INCLUDE_DIRS}) add_executable(first_node src/first_node.cpp) target_link_libraries(first_node ${catkin_LIBRARIES}) ``` 其中include_directories命令告诉catkin在哪里找到头文件,add_executable命令添加源代码文件并生成可执行文件,而target_link_libraries命令链接所有所需的库。 4. 构建和安装程序 最后,您需要告诉CMakeLists.txt文件如何构建和安装程序。在CMakeLists.txt文件的末尾,您需要添加以下命令: ``` install(TARGETS first_node RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) ``` 这将在构建完程序之后将其安装到系统中。 总的来说,ROS CMakeLists.txtROS组件的构建过程的重要部分。当您创建新的ROS节点时,您需要创建一个CMakeLists.txt文件并按照上述步骤编写它。了解这些基本知识对于构建成功的ROS程序至关重要,但这并不是全部。ROS有着很多其他有用的工具和技术,需要不断学习和掌握,才能成为一名成功的机器人工程师。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值