PX4项目学习::(六)项目的配置与编译(Cmake)

文章介绍了在PX4飞行控制系统中,Cmake和Makefile在源码编译过程中的作用。Cmake用于生成Makefile,简化大型项目管理,而Makefile则负责编译源码为可执行文件。PX4主要基于CMakeLists.txt进行编译,降低了编写makefile的复杂性,允许开发者通过修改少数脚本来控制编译过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

        在讲解编程之前,我得交代两个重要的东西,因为这两个东西存在于px4的源码系统当中,非常重要,它们就是make和Cmake。

      首先谈谈何为make

        熟悉linux系统的朋友对make肯定不陌生,它就是用来读取Makefile文件然后执行,把源码编译链接为可执行程序的一个软件。我们只要把待编译的源码文件和这些源码所需要用到的库写到Makefile文件里面执行make命令就能得到可执行或者可烧录的二进制文件。

        那何为Cmake呢?

        我们可以这样理解,早期人们直接使用gcc命令编译程序,当源码文件多起了之后,直接用gcc命令过长,链接的库过多,这样就太麻烦了。这时候Make就应运而生,解决了人们对于代码文件过多的困扰。但随着项目越来越大,文件越来越多,人们发现make也捉襟见肘,因为编写Makefile文件又会变得异常复杂。这个时候聪明的程序猿就想能不能有个程序可以帮我写Makefile文件呢?这样就引出了Cmake,当然Cmake不是智能的,它不可能自己去辨别那些是代码,那些是文件,需要什么库。这样就引入了另外一套规则,也引入了一个文件CMakeLists.txt,这个文件就是Cmake程序识别的文件,有这个文件,Cmake就能帮助程序猿自动生成Makefile文件。

   总的来说流程应该是这样的:

                                cmake                            make
   CMakeLists.txt-------------->Makefile---------------------->可执行文件

                                                                         src,lib


        看过px4源码文件的朋友肯定会发现里面有很多CMakeLists.txt文件,事实上整个px4源码的文件都是基于CMakeLists.txt的(Nuttx系统不是,Nuttx是基于Makefile的,px4源码基本都在Firmware/src下,Nuttx操作系统源码在Firmware/NuttX下

        编译脚本的作用,是将这些人们写的程序编译成二进制文件供机器使用。

​         PX4原生固件采用的Cmake编译脚本的书写方式,降低makefile的书写难度。我们只要掌握几个修改脚本就可以掌握系统的编译。

(51条消息) PX4二次开发——编译与启动脚本的修改_多谱hhhh的博客-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值