news 2026/4/18 8:49:49

cmake 是编译器吗

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cmake 是编译器吗

不是的,CMake 不是编译器,这是很多初学者容易搞混的地方。我们仔细分清楚:


一、CMake 是什么?

CMake 是“生成编译流程的工具”
它的工作是:告诉编译器和构建工具(make / ninja)应该怎么编译你的代码

换句话说:

  • CMake = 编译说明书生成器
  • 实际编译工作 = 编译器(g++, gcc, clang)干的

二、CMake 与编译器的关系

CMakeLists.txt (规则说明书) ↓ CMake ↓ Makefile / Ninja ↓ 编译器 g++ / gcc ↓ 可执行文件 / 库
  • CMake:生成 Makefile 或 Ninja 文件(告诉 g++ 该编译哪些文件,哪些依赖)
  • g++ / gcc:真正把.cpp变成.o,再链接成可执行文件
  • Make / Ninja:根据 Makefile 或 Ninja 文件,按顺序调用编译器完成整个构建

三、举例类比(Java / Python)

语言工具干什么
C++CMake生成编译流程
g++真正编译代码
JavaMaven生成编译/打包流程
javac真正编译代码
Pythonsetup.py生成打包流程
Python 解释器执行代码 / 打包

💡 核心:CMake 只负责“计划”,不干活


四、用生活类比

  • CMake = 厨师的菜谱
  • 编译器 g++ = 厨师本人
  • 最终可执行文件 = 做好的菜

你手上有菜谱(CMake),但不动手(g++ 编译),菜是做不出来的。


如果你愿意,我可以画一张0基础版“CMake 编译器流程图”
让你一眼就能看懂 CMake、g++、Make 之间的关系。

你想让我画吗?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 4:31:40

超详细版波形发生器设计初学指南

从零开始打造一台波形发生器:写给电子新手的实战手记 最近在调试一个音频信号采集项目时,我又一次被“没有标准输入信号”卡住了。示波器看着干干净净的噪声,却不知道是前端电路出了问题,还是算法没调好。那一刻我意识到—— 每个…

作者头像 李华
网站建设 2026/4/18 5:19:59

高凯技术冲刺科创板:上半年营收2.4亿,净利5345万 拟募资15亿

雷递网 雷建平 12月29日江苏高凯精密流体技术股份有限公司(简称:“高凯技术”)今日递交招股书,准备在科创板上市。高凯技术计划募资15亿,其中,10.1亿元用于高端半导体设备零部件研发及产业化项目&#xff0…

作者头像 李华
网站建设 2026/4/17 4:05:39

Git replace替换PyTorch仓库对象高级用法

Git Replace 与 PyTorch-CUDA 镜像协同优化深度学习开发流 在现代深度学习项目中,我们常常面临一个看似矛盾的需求:既要保持代码和环境的高度一致性以确保实验可复现,又需要足够的灵活性来快速修复问题、尝试新特性或绕过上游限制。尤其是在使…

作者头像 李华
网站建设 2026/4/18 5:09:58

我将区块链和 AI 结合生成艺术。接下来发生了什么。

原文:towardsdatascience.com/i-combined-the-blockchain-and-ai-to-generate-art-heres-what-happened-next-859309c5d4c6 指南 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b7a1f0072a2074a602575c23dbeaf72d.png 想象一…

作者头像 李华