GCC、Make、CMake、Makefile、CMakelists的关系

首先,这些东西都是跟编译项目有关系的。它们之间的关系请从上至下一段一段地看:

1.GCC

GCC全称是GNU Compiler Collection,是一个编译套件。我们可以通过gcc/g++来编译目标项目。
但是当项目结构复杂时,通过gcc/g++命令直接编译会出现非常多不便之处,于是出现了Makefile。

2.Makefile

简单地说Makefile就是一个包含一堆有条理的gcc/g++编译命令的文件,便于提高开发者的工作效率。
Makefile是需要开发者自己手写的。
那之前可以通过在终端输入gcc/g++命令来编译项目,现在有了Makefile,又要怎么用呢?
这就讲到Make工具了。

3.Make

(还是简单地说吧,)Make工具就是“读取”并执行Makefile文件中的编译指令,从而进行项目编译。

4.CMakelists

当项目非常庞大,目录结构非常复杂时,手写Makefile就是一件非常恐怖的事情了,你需要在不同的目录底下写不同的Makefile,这可能有非常多个。
这时候就有CMakelists来拯救开发者了。CMakelists可以通过更简单的写法来生成对应的Makefile文件。
怎么生成呢?就是写好CMakelists.txt之后,通过CMake工具生成。

5.CMake

类似Make工具的功能,CMake工具就是“读取”并执行CMakelists.txt文件中的语句,来生成对应的Makefile。然后开发者就可以通过Make工具来“执行”Makefile了。



作者:养皮卡丘的琪酱
链接:https://www.jianshu.com/p/184a33eddf93
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值