打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
make和cmake命令的关系和区别(转)

声明:本文转自 https://www.jianshu.com/p/f930e2826a6a

仅供个人学习使用。

我们在安装Ubuntu软件时,有时我们会用到make和cmake命令。所以在这篇文章我们来讲解一下,make命令和cmake命令他们的作用,以及什么关系和区别。

首先假设你有一定的计算机基础,能够理解源代码和可执行文件的区别,如果这两个名词你不懂,可以看我写的《C语言从入门到不放弃》的序论,或者直接上网搜索。

OK,gcc简单的来说,它就是Linux平台的一个编译器,当然,它还有其它的平台。我们可以使用gcc来编译我们的(C、C、Object-C等等),比如我们这里有一个文件,hello_world.c,它是用来在标准输出打印一行"hello world"程序的源代码,这个时候我们就可以使用:

gcc hello_world.c

便可以生成一个a.out的可执行文件。

可是,我们的程序有时候可能不是一个单一的源文件,当我们的项目是一个很大的工程时,用gcc命令逐个编译,可能一不小心就会出错。类似于shell脚本,就出现了make工具。

make工具通过调用makefile文件中的命令便可以对大型程序进行编译,而makefile文件中就包含了调用gcc去编译多个源文件的命令。

但是,很快又出现了一个问题,如果我们的程序是跨平台的,如果换个平台makefile又要重新修改,这会很麻烦,所以就出现了cmake这个工具,通过cmake我们就可以快速创建出不同平台的makefile文件。

而cmake又是根据CMakeLists.txt来生成makefile文件,这里你可能觉得有点儿绕,我来总结一下,就是为了编译一个大型程序,你首先编写CMakeLists.txt。然后,通过cmake命令就可以生成makefile文件。然后通过make命令就可以使用这个makefile文件从而生成可执行文件。

作者:byteluo
链接:https://www.jianshu.com/p/f930e2826a6a
来源:简书

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
make makefile cmake qmake都是什么,有什么区别
GCC、Make、CMake、Makefile、CMakelists的关系
Linux中Makefile的编写(详细示例以及截图)
面试官:Linux下如何编译C程序?
C语言入门教程-makefile
Linux下GCC和Makefile实例(从GCC的编译到Makefile的引入)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服