2. Windows 开发环境搭建

说实话,Windows 上的开发环境搭建,我踩过的坑比写过的代码还多。很多人觉得装个 IDE 就完事了,结果编译时报一堆莫名其妙的错。嗯,这一章咱们就把 Windows 下的 C++ 开发环境彻底捋一遍。

本章核心目标:打造一个能编译、能调试、能版本管理的 Windows 开发工作站。说白了,就是让你的电脑能干活,而且干得顺手。

2.1 安装 Visual Studio 2022

Visual Studio 2022 是目前 Windows 上最成熟的 C++ IDE。我个人习惯用 Community 版,免费且功能完整。你可能会问:「为什么不直接用 VS Code?」我的回答是:在 Windows 上做原生 C++ 开发,VS 的调试器和 IntelliSense 目前还是无可替代的。

安装步骤:

  1. 从 visualstudio.microsoft.com 下载 Visual Studio 2022 Community 安装程序
  2. 运行安装程序,选择「使用 C++ 的桌面开发」工作负载
  3. 在右侧「安装详细信息」中,确保勾选以下组件:
    • MSVC v143 - VS 2022 C++ x64/x86 生成工具
    • Windows 10 SDK (或 Windows 11 SDK)
    • C++ CMake 工具 (如果你用 CMake 的话)
    • 适用于最新 v143 生成工具的 C++ ATL (可选,做 COM 开发时需要)
  4. 点击「安装」,然后去泡杯咖啡。第一次安装大概需要 20-30 分钟

我的经验:安装时别贪多。只勾选你真正需要的组件。我曾经一次性勾了所有工作负载,结果硬盘少了 30GB,而且很多组件根本用不上。记住,VS 是可以后期随时添加组件的。

2.2 配置 C++ 开发工具链

VS 安装好之后,其实工具链已经就绪了。但有几个细节需要手动确认,不然编译时会出幺蛾子。

验证工具链:

# 打开「开发者命令提示符」或 PowerShell
# 检查 MSVC 编译器版本
cl.exe

# 检查链接器
link.exe

# 检查 nmake
nmake --version

如果提示「cl.exe 不是内部或外部命令」,说明环境变量没配好。这时候有两种解决办法:

  • 方法一:从开始菜单打开「Developer Command Prompt for VS 2022」,它会自动加载环境变量
  • 方法二:手动运行 vcvarsall.bat 脚本。路径一般在 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat

我曾经踩过的坑:直接在普通 cmd 里运行 cl.exe,结果报错说找不到 mspdbcore.dll。后来才发现,VS 的编译器需要特定的环境变量才能正常工作。所以,要么用开发者命令提示符,要么手动执行 vcvarsall.bat。千万别偷懒。

配置 CMake 支持:

VS 2022 内置了 CMake 支持,但如果你习惯用命令行,建议单独安装 CMake。我个人喜欢用 choco install cmake 来装,省事。

# 验证 CMake
cmake --version

# 一个简单的 CMakeLists.txt 示例
cmake_minimum_required(VERSION 3.20)
project(HelloWorld)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(hello main.cpp)

2.3 安装 Git for Windows

Git 是版本控制的标配。在 Windows 上,我推荐用 Git for Windows,它自带 Git Bash,能模拟 Linux 命令行环境。

安装要点:

  1. 从 git-scm.com 下载安装包
  2. 安装过程中,有几个关键选项要注意:
    • 选择默认编辑器:建议选 VS Code 或 Notepad++,别用 Vim(除非你习惯)
    • 调整 PATH 环境:选「Git from the command line and also from 3rd-party software」
    • 行尾转换:选「Checkout Windows-style, commit Unix-style line endings」——这是跨平台协作的关键
    • 终端模拟器:选「Use MinTTY」

避坑指南:行尾转换这个选项,说白了就是解决 Windows 用 CRLF、Linux 用 LF 的问题。我刚开始做跨平台项目时,就因为行尾不一致,导致 CI 构建总是报错。后来统一用「Checkout as-is, commit Unix-style」才消停。

验证安装:

git --version
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# 配置别名(我个人的习惯)
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status

2.4 配置 PowerShell 与 Windows Terminal

Windows Terminal 是微软近几年做的最好的开发者工具之一。它比老旧的 cmd 和 PowerShell ISE 好用太多了。

安装 Windows Terminal:

  • 从 Microsoft Store 搜索「Windows Terminal」安装
  • 或者用 winget 安装:winget install Microsoft.WindowsTerminal

配置 PowerShell 7:

Windows 自带的 PowerShell 5.1 功能有限。我建议安装 PowerShell 7,它跨平台、支持更多语法特性。

# 安装 PowerShell 7
winget install Microsoft.PowerShell

# 验证版本
pwsh --version

# 配置 profile(相当于 Linux 的 .bashrc)
notepad $PROFILE

我的个人 profile 里会加这些内容:

# 设置别名
Set-Alias -Name ll -Value Get-ChildItem
Set-Alias -Name grep -Value Select-String

# 设置提示符样式
function prompt {
    $p = Split-Path -Leaf -Path (Get-Location)
    "PS [$p] > "
}

# 启用 Tab 补全
Set-PSReadLineOption -PredictionSource History

小技巧:Windows Terminal 支持多标签页、分屏、自定义主题。我个人喜欢用「One Half Dark」配色方案,配上 Cascadia Code 字体,写代码时眼睛舒服很多。你可以在设置里找到这些选项。

2.5 本章知识体系

下面这张图概括了 Windows 开发环境的核心组件和它们之间的关系:

Windows 开发环境核心架构 Visual Studio 2022 MSVC 编译器 (cl.exe) CMake 构建系统 Git 版本控制 Windows Terminal PowerShell 7 Windows SDK + 系统环境变量 每一层都依赖下一层提供的基础能力 配置顺序:系统 SDK → 编译器 → 构建工具 → 终端 → IDE

说白了,整个环境就是一层叠一层。先有 Windows SDK 和系统环境变量,然后 MSVC 编译器才能工作。有了编译器,CMake 和 Git 才能发挥价值。最后,Windows Terminal 和 PowerShell 7 给你一个舒服的操作界面。

总结一下:这一章我们装了 VS 2022 和它的 C++ 工具链,配了 Git for Windows,还升级了终端环境。这些工具组合在一起,就是一个能打能扛的 Windows 开发工作站。下一章,我们会用这套环境来编译第一个跨平台项目。

最后说一句:环境搭建这种事,一次配好,后面省心。我见过太多人因为环境问题浪费一整天。所以,花点时间把这一步做扎实,绝对值。