CMake、make、GCC 是什么关系?从代码到 exe 的完整流程

CMake、make、GCC 是什么关系? 你可能在 Qt Creator 里见过 CMake,在 Linux 教程里见过 make,在安装说明里见过 GCC。 它们到底是什么关系? 一句话: CMake 生成构建文件,make 执行构建,GCC 真正编译代码 先看关系图 你写代码 (main.cpp) ↓ CMake 读取 CMakeLists.txt ↓ 生成 Makefile(或其他构建文件) ↓ make 读取 Makefile ↓ 调用 GCC/编译器 ↓ 生成 exe 一句话分清三者 工具 角色 一句话 CMake 元构建系统 生成 Makefile 的跨平台工具 make 构建工具 读取 Makefile,调用编译器 GCC 编译器 把代码变成机器码 用最土的比喻 CMake = 写菜谱的人 Makefile = 菜谱 make = 按菜谱做菜的厨师 编译器 (GCC) = 火和锅 详细区别 1. CMake 是干嘛的? 跨平台元构建系统 CMake 不是编译器,不是构建工具 —— 它是生成构建系统的工具。 ...

March 6, 2026 · 3 min · 王云卿

Qt 编译工具链完全指南:5 个组件一次讲透

Qt 编译工具链完全指南:5 个组件一次讲透 刚接触 Qt,你会遇到一堆名词: 编译器(MinGW / MSVC) 构建工具(qmake / CMake) 调试器(GDB / VS 调试器) 库路径 运行环境 装 Qt 的时候让你选这个选那个,你只知道"都要装",但不知道它们到底是干什么的、有什么关系。 这篇文章用最通俗的方式,把这 5 个组件一次性讲透。 先看全景图(按执行顺序) 【配置】指定库路径 ↓ 【构建工具】读取配置、安排编译 ↓ 【编译器】编译代码生成机器码 ↓ 【调试器】辅助调试 ↓ 【运行环境】加载依赖运行程序 为什么这个顺序很重要? 必须先知道 Qt 的库在哪(库路径),构建工具才能开始工作。然后调用编译器编译代码,最后才能运行调试。 这个顺序贯穿全文,理解它你就理解了 Qt 的编译流程。 1. 编译器(Compiler) 一句话定义 把你写的 C++ 代码,变成电脑能跑的机器码/可执行程序。 三大平台的主流编译器 平台 编译器 说明 Windows MinGW / MSVC MinGW = gcc on Windows,MSVC = 微软官方编译器 Linux gcc / clang gcc 是主流,clang 是后起之秀 macOS clang (Apple) Apple 官方基于 LLVM 的 clang 为什么先讲 Windows? Qt 开发者中 Windows 用户占比较大,且 Qt 安装器在 Windows 上提供的编译器选择最复杂(MinGW、MSVC、LLVM-MinGW),所以先重点讲 Windows。但 Linux/macOS 开发者请放心,后面会补充。 ...

March 6, 2026 · 7 min · 王云卿