CMake下载和安装图解(附安装包,适合新手)

CMake 不是编译器,它只是一个"翻译官",简单理解,我们把"建个 C/C++ 项目"写成 CMakeLists.txt,CMake 就会帮你生成 Visual Studio 的 sln、Linux 的 Makefile、macOS 的 Xcode 工程,然后真正的编译交给 gcc、clang、msvc 去干。

因此,CMake 支持跨平台,可以帮程序员"一次编写,多个平台生成",不需要手动维护 N 套构建脚本。

CMake 同领域的对手主要有 3 个,分别是 Autotools、QMake、Ninja:

  • Autotools 老人专用,写一堆 .ac .am 文件,Windows 下先装 msys 才能跑,新手劝退;
  • QMake 只服务 Qt 项目,跨平台但绑手绑脚;
  • Ninja 速度确实快,可它自己不会写构建规则,还是得靠 CMake 先生成。

相比之下,CMake 有以下优势:

  1. 文档全、社区大、StackOverflow 答案数不胜数;
  2. GitHub 上 90% 的 C/C++ 项目直接给你 CMakeLists.txt,抄过来就能改;
  3. CLion、VSCode 原生识别,按一下 F5 就能调试。

什么时候会用到 CMake 呢?只要你的代码要在 Linux 服务器、Windows 客户机、macOS 笔记本、嵌入式板子之间来回移植,就需要用 CMake。大厂开源项目如 OpenCV、PCL、LLVM、ROS 2 全拿它当标配,连 Android Studio 官方模板也内置 CMake 脚本。

下载CMake

这里为大家提供了适合多个平台(Windows、Linux 和 Mac OS 等)的 CMake 安装包:

网盘下载:CMake安装包

安装CMake

1、Windows平台安装CMake
  1. 双击下载的 cmake-4.1.2-windows-x86_64.msi 安装程序:
  1. 点击 Next,进入下图的界面:
  1. 点击 Next,进入下图的界面:
  1. 保持默认,点击 Next 进入下图的界面:
  1. 自定义安装路径,建议安装到非系统盘,然后点击 Next:
  1. 点击 Install,开始安装 CMake:
  1. 出现下图的界面,表示安装成功:
  1. 按组合键 win+R,输入 cmd 打开命令提示符,输入 cmake --version,能正确显示 CMake 的版本信息证明安装成功。
2、Linux平台安装CMake

对于 Ubuntu 或 Debian 系统,执行如下命令:

复制代码
sudo apt-get install cmake

对于 Fedora 系统,执行如下命令:

复制代码
sudo dnf install cmake

对于 Arch Linux 系统,执行如下命令:

复制代码
sudo pacman -S cmake
3、Mac OS平台安装CMake

打开终端(Terminal),执行以下安装命令:

复制代码
brew install cmake
相关推荐
学编程的闹钟12 天前
安装GmSSL3库后用VS编译CMake源码
c语言·c++·ide·开发工具·cmake·visual studio
十五年专注C++开发21 天前
CMake进阶:SelectLibraryConfigurations模块
c++·cmake·自动化构建
元让_vincent21 天前
DailyCoding C++ CMake | CMake 踩坑记:解决 ROS 项目中的“循环引用”与库链接依赖问题
c++·机器人·ros·动态库·静态库·cmake·循环引用
周小天..22 天前
QT6+cmake+cuda的构建(windows)
cmake
Laurence24 天前
CMake / Ninja 构建 Qt 项目报 undefined reference to __imp__ 错误的解决方法
qt·cmake·项目构建·undefined·ninja·__imp__
___波子 Pro Max.24 天前
CMake configure_file使用教程详解
cmake
D.不吃西红柿1 个月前
CPM.cmake轻量级包管理器
c++·cmake·cpm.cmake
十五年专注C++开发1 个月前
CMake基础: 在release模式下生成调试信息的方法
linux·c++·windows·cmake·跨平台构建
kimicsdn1 个月前
opentelemetry-demo currency cpp 项目编译流程分享
c++·cmake·libprotobuf-dev
十五年专注C++开发1 个月前
CMake进阶:模块模式示例FindOpenCL.cmake详解
开发语言·c++·cmake·跨平台编译