Windows下CMake的下载与安装详解

本文介绍了CMake这一跨平台的构建工具,详细阐述了如何下载与安装CMake,并通过实例展示了如何使用CMakeLists.txt文件构建一个包含单个源文件的项目。通过简单的三行代码,读者可以理解CMake的基本用法,包括指定最低版本、设定项目名称以及添加可执行文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、CMake介绍

CMake是一个被广泛使用的、开源免费并且完全跨平台的构建工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。

二、CMake的下载与安装

CMake下载链接:https://cmake.org/download/
下载最新稳定版即可(Latest Release):

在这里插入图片描述

下载完成后,单击“Next”按钮,在下图中勾选“I accept the terms in the License
Agreement”复选框接受许可协议:
在这里插入图片描述

选中“Add CMake to the system PATH for all users”单选按钮添加系统路径变量。也可以同时勾选“CreateCMakeDesktopIcon”复选框,以便在安装完成后在桌面上创建CMake的快捷方式图标。

### Windows 操作系统下 CMake 的使用教程 #### 安装 CMake 为了在 Windows 上使用 CMake,首先需要安装该工具。可以从[CMake官方网站](https://cmake.org)下载适合 Windows 操作系统的安装包并依照向导完成安装过程[^3]。 #### 验证安装 安装完成后,在命令提示符窗口中执行`cmake --version`指令来验证是否正确安装CMake 。如果显示出了版本信息,则说明安装成功[^2]。 ```powershell cmake --version ``` #### 创建项目结构 创建一个新的文件夹作为项目的根目录,并在此基础上建立源码子文件夹 `src` 和构建输出子文件夹 `build`: ```plaintext MyProject/ ├── src/ └── build/ ``` #### 编写 CMakeLists.txt 文件 进入 `src` 文件夹内编写名为 `CMakeLists.txt` 的配置脚本,定义如何编译工程中的各个目标。对于简单的控制台应用程序来说,可能如下所示: ```cmake # 设置最低支持的 CMake 版本 cmake_minimum_required(VERSION 3.10) # 设定项目名称和默认使用的编程语言 project(MyConsoleApp VERSION 1.0 LANGUAGES CXX) # 添加可执行文件及其对应的源文件列表 add_executable(${PROJECT_NAME} main.cpp) ``` 同时在同一路径下准备一个简单的入口函数实现文件 `main.cpp`: ```cpp #include <iostream> int main() { std::cout << "Hello from My Console App!" << std::endl; return 0; } ``` #### 进入构建环境 切换至之前创建好的 `build` 文件夹,这里将是所有中间产物以及最终二进制文件的位置所在。 ```powershell cd path\to\your\MyProject\build ``` #### 执行 CMake 构建流程 调用 CMake 来读取位于上级目录里的 `CMakeLists.txt` 并生成相应的 Makefile 或者解决方案文件(取决于所选生成器)。此处采用 Visual Studio Generator 方式为例展示具体做法: ```powershell cmake .. -G "Visual Studio 17 2022" ``` 这一步骤会依据指定的生成器自动生成对应平台下的项目文件,比如 `.sln` 及其关联项。 #### 开始编译 当一切顺利的话,现在可以直接启动 MSBuild 工具链来进行实际编译工作;也可以直接双击打开刚刚产生的 .sln 文件借助 IDE 图形界面辅助操作。 通过命令行方式快速构建的方法为: ```powershell cmake --build . ``` 或者更进一步指定要构建的目标类型如 Debug/Release : ```powershell cmake --build . --config Release ``` #### 利用 CMakePresets.json 提升效率 随着需求增长,可能会涉及到多套不同的编译参数组合场景。此时引入 JSON 格式的预设文件能够极大简化重复劳动强度。例如设置好之后便能轻松切换不同模式间的转换而无需每次都手动调整选项[^4]: ```json { "version": 3, "configurePresets": [ { "name": "default", "description": "Default configuration using Ninja generator.", "generator": "Ninja", "binaryDir": "${sourceDir}/out/build/${presetName}", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "release", "inherits": "default", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } } ], "buildPresets": [ { "name": "debug", "configurePreset": "default" }, { "name": "release", "configurePreset": "release" } ] } ```
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wendy_ya

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值