make和cmake命令

2023-05-16

我们在安装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文件从而生成可执行文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

make和cmake命令 的相关文章

随机推荐

  • LabVIEW 编程经验

    一个非常好的LabVIEW教程 链接 xff1a LabVIEW 编程经验
  • 【授以渔】教你使用Amesim帮助文档

    已剪辑自 https zhuanlan zhihu com p 340572169 Amesim的帮助文档是Amesim最全面 最权威的学习宝典 xff1a 它不仅有手把手的操作教程 xff0c 还有非常专业的理论介绍 xff1b 不仅有H
  • simulink仿真、libview仿真、 amesim仿真介绍

    simulink仿真 已剪辑自 https blog csdn net qq 41325078 article details 105406196 Simulink是MATLAB的重要组成部分 xff0c 可以用于建模 xff0c 仿真等
  • 基于模型的系统工程 | MBSE

    文章目录 1 什么是系统2 什么是系统工程3 什么是基于模型的系统工程4 MBSE要素5 MBSE相对于TBSE优势6 总结 已剪辑自 https modelbaba com mbse 101 html 1 什么是系统 系统 xff08 S
  • MBSE详细介绍

    文章目录 MBSE是什么 有什么用 怎么学习 xff1f 1 MBSE是什么 xff1f 2 MBSE有什么用 xff1f 3 MBSE的方法有哪些 xff1f 4 MBSE怎么学习 xff1f MBSE建模学习之一 xff1a 有26种分
  • CSDN,我的良师益友

    鲁迅曾说过 xff1a 不是缺乏天才 xff0c 而是缺乏培养天才的土壤 对于中国的 IT 行业来说 xff0c 从来不缺乏技术英雄 xff0c 缺少的是铸就技术英雄的平台 而 CSDN 就给了我们这样一个平台和机会 xff0c 所以我们是
  • 如何把PPT连背景一起复制?

    如何把PPT连背景一起复制 xff1f 如何将一个ppt中的版式原样复制到另外一个ppt上 xff0c 不改变那个ppt的背景模板 xff1f 1 首先打开一个PPT xff0c 点击上面的工具 插入 xff0c 选择 新建幻灯片 的下拉三
  • 智睿思维基于模型的系统工程软件 (MBSES)

    文章目录 智睿思维基于模型的系统工程软件 xff08 MBSES xff09 中文国产化MBSE软件工具支持SysML9种图模块定义图内部模块图参数图包图用例图活动图状态机图需求图序列图 模型检查 引用 子类查询行为模型的仿真执行报表和发布
  • 干货分享|基于模型的系统工程(MBSE)介绍

    干货分享 基于模型的系统工程 xff08 MBSE xff09 介绍 xff08 上 xff09 已剪辑自 https icv 51cto com posts 427 前言 汽车智能化主要体现在车辆自身功能的数字化与自动化及车辆与外界 xf
  • 嵌入式软件可靠性设计的编程要点?

    文章目录 1 判错2 判断实参是否合法3 仔细检查函数的返回值4 防止指针越界5 防止数组越界6 数学算数运算7 其它可能出现运行时错误的地方8 编译器语义检查9 关键数据多区备份 xff0c 取数据采用 表决法 10 非易失性存储器的数据
  • 基础知识 | 适航委任代表的前世今生

    已剪辑自 https mp weixin qq com s yxLKQ2uxkOe7 uAWW4rt4g 01 根据CCAR 183部 民用航空器适航委任代表和委任单位代表的规定 R1版的定义 xff0c 委任代表是指民航局委任适航部门以外
  • 经历分享:我是如何出版了人生的第一本书的

    已剪辑自 https mp weixin qq com s LK1d45SyKcvh1kcMwMCjog 对很多互联网人来说 xff0c 从输出 写文章到出书 xff0c 是一个重要的里程碑节点 但很多人仅仅是停留在文章阶段 xff0c 并
  • 需求工程与系统工程

  • 软件测试类型——集成测试

    已剪辑自 https blog csdn net vikeyyyy article details 80900540 简介 集成测试 xff08 Integration Testing xff09 xff0c 也叫组装测试或联合测试 在单元
  • 代理模型介绍大全

    已剪辑自 https zhuanlan zhihu com p 555814030 1 代理模型简介 一次看文献的时候 xff0c 看到一篇关于代理模型的文章 xff0c 讲解的十分细致 xff0c 深受启发 xff0c 醍醐灌顶 xff0
  • 一篇文章让你了解ISIGHT

    已剪辑自 https vsystemes com 35621 1 概述 经过了二十年的发展 xff0c 对于国内CAE仿真 xff0c 众多企业的目光已经不再只关注仿真本身 xff0c 更多的将目光放在了以下三个方面 xff1a 1 关注的
  • DDS(data distribution service,数据分发服务)简介

    已剪辑自 http www uml org cn modeler 20201010112 asp 编辑推荐 文章主要介绍了DDS高级数据中心接口取代了以消息为中心的编程和基本技术概念等相关内容 来自于dds foundation org 由
  • Oracle 删除表空间回收磁盘空间

    1 查询表空间和表空间数据库文件路径 span class token keyword SQL span span class token operator gt span span class token keyword select s
  • 在Ubuntu中使用雷电3外接显卡(eGPU)进行深度学习

    sud种种很凑巧的因素 xff0c 需要用这么一套设备做深度学习 笔记本是联想yoga s730 xff0c 两年前在某多多入手 xff0c 显卡坞是技嘉gaming box 43 GTX1070 xff0c 某鱼入手 折腾了一上午 xff
  • make和cmake命令

    我们在安装Ubuntu软件时 xff0c 有时我们会用到make和cmake命令 所以在这篇文章我们来讲解一下 xff0c make命令和cmake命令他们的作用 xff0c 以及什么关系和区别 首先假设你有一定的计算机基础 xff0c 能