第1章:环境搭建——CMake的安装与第一个Hello World
大家好,我是你们这门课的老朋友。今天咱们来聊聊CMake环境搭建这件事。
说实话,我见过太多人卡在第一步——装个CMake装到怀疑人生。其实没那么复杂,咱们一步步来。
1.1 为什么先搞定环境?
你想想看,写代码最怕什么?不是语法不会,是环境配不好。我刚开始用CMake那会儿,光安装就折腾了两天。后来发现,其实就是几个命令的事。
CMake是个跨平台的构建工具。说白了,它帮你生成Makefile或者Visual Studio的工程文件。你写一份CMakeLists.txt,就能在Windows、Linux、macOS上编译。嗯,这就是它的核心价值。
1.2 Windows下的安装
Windows用户,我个人建议走官方安装包路线。
- 去CMake官网下载安装包(选.msi格式)
- 双击安装,一路Next
- 关键一步:勾选"Add CMake to the system PATH"
- 安装完成后,打开cmd,输入
cmake --version
注意: 我曾经遇到过PATH没勾选,结果命令行死活找不到cmake命令。后来手动加环境变量才解决。所以这一步千万别跳过。
如果你喜欢用包管理器,也可以试试:
# 用chocolatey
choco install cmake --installargs 'ADD_CMAKE_TO_PATH=System'
# 用scoop
scoop install cmake
1.3 Linux下的安装
Linux就简单多了。不同发行版命令略有不同,但核心思路一样。
# Ubuntu/Debian
sudo apt update
sudo apt install cmake
# CentOS/RHEL/Fedora
sudo yum install cmake
# 或者
sudo dnf install cmake
# Arch Linux
sudo pacman -S cmake
安装完验证一下:
cmake --version
如果版本太老怎么办?我建议用pip安装最新版:
pip install cmake
小技巧: 我个人习惯用pip安装,因为版本更新快。但要注意,pip安装的cmake可能不在系统PATH里,需要手动加一下。
1.4 macOS下的安装
macOS用户,我推荐用Homebrew。为什么?因为省心。
# 安装Homebrew(如果没有的话)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装CMake
brew install cmake
# 验证
cmake --version
你也可以去官网下载.dmg安装包。但我个人觉得,用Homebrew管理更方便,升级也简单。
注意: macOS自带的cmake版本可能比较老。我曾经在M1芯片的Mac上踩过坑——系统自带的cmake不支持arm64架构。后来用brew重装就好了。
1.5 验证安装是否成功
不管哪个平台,验证方法都一样:
cmake --version
你会看到类似这样的输出:
cmake version 3.28.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
如果看到版本号,恭喜你,安装成功了。
1.6 第一个Hello World项目
环境搭好了,咱们来写第一个CMake项目。别紧张,就几行代码。
先创建项目目录:
mkdir hello_cmake
cd hello_cmake
然后写一个C++源文件 main.cpp:
#include <iostream>
int main() {
std::cout << "Hello, CMake!" << std::endl;
return 0;
}
再写CMakeLists.txt:
cmake_minimum_required(VERSION 3.10)
project(HelloCMake)
add_executable(hello main.cpp)
这三行什么意思?
cmake_minimum_required:指定最低CMake版本。我习惯写3.10,兼容性比较好。project:定义项目名称。这里叫HelloCMake。add_executable:告诉CMake,我们要生成一个可执行文件,源文件是main.cpp。
接下来,构建项目:
mkdir build
cd build
cmake ..
make
或者用更现代的方式:
cmake -B build
cmake --build build
运行看看:
./build/hello
你会看到:
Hello, CMake!
重点: 为什么要有build目录?我刚开始也不理解。后来发现,如果不分开,生成的那些中间文件会跟源码混在一起,乱得很。所以,养成习惯——建一个build目录,在里面编译。
1.7 知识体系总览
下面这张图,帮你理清本章的核心逻辑:
1.8 常见问题与避坑指南
| 问题 | 原因 | 解决方法 |
|---|---|---|
| cmake命令找不到 | 没有添加到PATH | 手动添加环境变量,或重新安装时勾选PATH选项 |
| 版本太老 | 系统自带的版本低 | 用pip或brew安装最新版 |
| 编译报错找不到头文件 | CMakeLists.txt写错了 | 检查add_executable的源文件路径 |
| macOS M1芯片编译失败 | 架构不兼容 | 用brew重装cmake,或指定架构 |
我的经验: 如果你在Windows上遇到cmake命令找不到,别慌。去系统环境变量里看看,把CMake的安装路径加进去就行。默认路径一般是
C:\Program Files\CMake\bin。
好了,环境搭好了,第一个项目也跑起来了。是不是比想象中简单?
记住,CMake就是个工具,别怕它。后面咱们会慢慢深入,你会发现它其实挺有意思的。