make,makefile,cmake,qmake是什么?

make,makefile,cmake,qmake是什么?

首先这些东西都是用于编译用的,当然cmake还有其他功能,但是这里不作展开。
下面这张图,当你看完后面的内容之后就会理解了。
在这里插入图片描述

gcc
gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器。它将我们编写的文本代码,编译成可执行文件,当我的程序只有一个源文件时,直接就可以用gcc命令编译。但是如果是多个源文件时,用gcc命令逐个编译就显得工作量很大。所以出现了make工具
make
make工具可以看成是一个智能的批处理工具,它本身没有编译和链接功能,而是用类似批处理的方式通过调用makefile文件中用户指定的命令来进行编译和链接的。
makefile
makefile命令中就包含了调用gcc去编译某个源文件的命令,在一些简单的工程完全可以人工手写,但是工程量非常大时,手写makefile也是非常麻烦的,如果换个平台makefile又需要重新修改,这就需要cmake工具了。
Cmake
cmake就可以更简单的生成makefile文件给上面那个make用,当然cmake还有其他功能,就是可以跨平台生成对应平台能用的makefile,你不用在自己去修改了。那cmake是根据什么生成makefile呢,那就是CmakeLists.txt文件(学名:组态档)去生成makefile。而CmakeLists.txt文件,就需要手写了,当然有些IDE是可以帮你生成的,例如VS
qmake
因为qt是跨平台C++图形用户界面应用程序开发框架,且它对C++进行了扩展,用它独有的moc编译器,所以普通的makefile文件就不适用了,它需要先用moc编译之后,在生成makefile文件,因此qmake就产生了。qmake根据工程文件.pro来生成对应的makefile,使用起来非常的简单,而cmake的CMakeLists.txt写起来会比.pro复杂,所以一般的工程使用qmake就可以了。

当你的工程非常大的时候,又有qt部分的子工程,又有其他语言的部分子工程,据说用cmake会方便,我没试过。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值