首页 > 其他分享 >[转]CMake与Make最简单直接的区别

[转]CMake与Make最简单直接的区别

时间:2022-09-01 20:35:18浏览次数:87  
标签:文件 CMake 区别 Make makefile 源文件 编译 编写

写程序大体步骤为:

1.用编辑器编写源代码,如.c文件。

2.用编译器编译代码生成目标文件,如.o。

3.用链接器连接目标代码生成可执行文件,如.exe。

但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。

对于一个大工程,编写makefile实在是件复杂的事,于是人们又想,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了cmake工具,它能够输出各种各样的makefile或者project文件,从而帮助程序员减轻负担。但是随之而来也就是编写cmakelist文件,它是cmake所依据的规则。所以在编程的世界里没有捷径可走,还是要脚踏实地的。

所以流程如下:

 其它参考链接:CMake和Make之间的区别

标签:文件,CMake,区别,Make,makefile,源文件,编译,编写
From: https://www.cnblogs.com/rainbow70626/p/16647744.html

相关文章

  • 三种状态机的区别?
    状态机的写法可以分为以下几种:一段式:最主要的特征是只有一个always块。在这个always块内既描述状态转移,又含有组合逻辑输入/输出,当前状态用寄存器输出;在这种状态机的写法......
  • HTTP HTTPS区别
    一:HTTP与HTTPS有哪些区别?(1)HTTP是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS则解决HTTP不安全的缺陷,在TCP和HTTP网络层之间加入了SSL/TLS安全协......
  • 【IO复用】epoll和select以及poll的区别
    select原理说在前面,整个select在内核空间中的工作事实上非常有趣,中间还会穿插一些可抢占点,检测当前是否有进程可以调度,增加系统的实时性初始化阶段:FD_set,把要监听的fd都......
  • ubuntu 16.04 cmake升级
    ubuntu16.04默认安装的cmake版本为3.5,但有时编译一些包时需要更高的版本,需要升级cmake。千万别执行下面的命令,这样会把之前用cmake编译好的包都给卸载掉,包括ros。......
  • delete和truncate删除的区别
    delete: (1)一行一行的把数据删除,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。 (2)delete是数据操作语言(DML)命令。 (3)delete命令不会影响表结构tr......
  • 在visual studio中使用cmake生成dll中的坑
    最近改用visualstudio写c++,把我之前基于MinGW的代码库clon下来在vs中跑,结果不能运行,因为链接器总是莫名奇妙地链接的我想要生成的dll文件同名的lib文件如下图所示文件结......
  • 在VS2019中配置OpenGL环境。(使用CMake方法)
    网上一大堆VS下配置OpenGL环境的,但是这些方法都是基于VS空项目,并没有利用Cmake来构建。而我之前的代码都是在Linux下使用cmake构建,所以为了更快的在VS下调试运行我的程序,所......
  • NMOS与PMOS区别
    在CMOS设计里,PMOS管和NMOS管同等重要,不过因为一般的电路设计书籍都注重NMOS管的讲解,PMOS都是直接类比NMOS,所以让人不太清楚PMOS的工作原理。1.端口不同PMOS和NMOS的源漏......
  • Hive中insert into 和 insert overwrite的区别
    相同点insertinto和insertoverwrite都是往表中插入数据的。 不同点区别1:insertinto:其实是将数据追加到表的末尾,注意可不是覆盖是追加。insertoverwrite......
  • 【C++】引用与指针的区别
    安全性首先引用要比指针要安全,因为引用不能更改绑定,但是指针可以更改指向,此外指针可以有多级,但是引用一般只有一级。在使用指针的时候,我们往往需要使用断言,判断指针是不是......