适用对象:在 Windows 10/11 上完成 DSA Mastery 本地 C++ Lab 的学生。
1. 安装 Git
下载地址:Git for Windows 一般X64处理器选图片这个

安装时大部分选项保持默认即可。遇到 PATH 相关选项时,选择:
Add a Git Bash Profile to Windows Terminal
安装完成后打开 PowerShell,执行:
git --version能看到 Git 版本号即可。

2. 安装 Node.js 和 pnpm
下载地址:Node.js 官方下载页

安装完成后,重新打开 PowerShell,执行:
node --version
然后启用 Corepack,并确认 pnpm 版本:
corepack enable
pnpm --version本仓库固定使用 pnpm 11.1.1。如果显示的版本不是 11.1.1,可以执行:
corepack install --global pnpm@11.1.1
pnpm --version如果 PowerShell 提示找不到 pnpm,先关闭当前终端,重新打开一个 PowerShell 再试。

如果提示:“因为在此系统上禁止运行脚本。有关详细信息”,使用管理员打开powershell执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser然后重试

3. 安装 MSVC Build Tools
下载地址:Visual Studio C++ Build Tools
这里安装的是编译器工具链,不是完整的 Visual Studio IDE。

在 Visual Studio Installer 中选择工作负载:
Desktop development with C++确认右侧组件至少包含:
- MSVC v143 C++ build tools
- Windows 10 SDK 或 Windows 11 SDK
- C++ CMake tools for Windows

安装完成后,从开始菜单打开:
Developer Command Prompt for VS
执行:
cl如果输出中包含 Microsoft C/C++ 编译器版本信息,说明 MSVC 已经可以使用。显示“没有输入文件”之类的提示也不代表安装失败;这里主要检查是否能找到 cl.exe。

可选:添加path
访问C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC,找到里面包含cl.exe的文件夹,添加path

比如我这里是:C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.51.36231\bin\Hostx64\x64,其中版本号14.51.36231可能会根据你的安装版本发生改变
在搜索打开编辑环境变量

点击高级 环境变量

插入下面两个路径,第一个路径和你前面找的路径一样,点确定返回(一共有三次确定)
C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\VC\Tools\MSVC\14.51.36231\bin\Hostx64\x64
C:\Program Files (x86)\Microsoft Visual Studio\18\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin

之后重新打开新的powershell(或者重启电脑),输入cmake,cl就能显示了

4. 安装 VS Code
建议安装以下扩展:
- C/C++:代码补全、错误提示和调试
- CMake Tools:Project Lab 的 CMake 配置和构建,可选
VS Code 是编辑器,不包含 C++ 编译器。即使已经安装 VS Code,仍然需要安装前面的 MSVC Build Tools。
5. (可选)安装make代替pnpm
- 以管理员身份打开 PowerShell:右键点击“开始”菜单,选择“Windows PowerShell (管理员)”或“终端 (管理员)”。
- 安装 Chocolatey:复制并粘贴以下命令,按回车执行:powershell
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) - 关闭并重新打开管理员 PowerShell 窗口。
- 安装 GNU Make:在管理员 PowerShell 中执行以下命令:powershell安装过程中如果提示确认,输入
choco install makey并按回车。 - 验证安装:关闭并重新打开任意 PowerShell 或 CMD 窗口,输入以下命令,如果显示版本信息则说明安装成功:powershell
make --version

6. 验证完整环境
建议从 developer Command Prompt for VS 或者 Powershell(需加PATH) 打开 VS Code 的终端,依次执行:
git --version
node --version
pnpm --version
cmake --version
cl版本要求:
| 工具 | 要求 |
|---|---|
| Node.js | 22.13.0 或更高 |
| pnpm | 11.1.1 |
| MSVC | Visual Studio 2022,MSVC19.30 或更高 |
| CMake | 3.25 或更高 |

7. 下载仓库
先创建一个放代码仓库的文件夹,再放本实验仓库过来,路径不要包含中文

在希望存放代码的目录打开 PowerShell或者 Developer Command Prompt for VS,执行:
git clone https://github.com/AzenAnn/DSA-Mastery
cd DSA-Mastery
pnpm install --frozen-lockfile也可以通过下载zip来放置,但是下载zip不方便同步最新的仓库
8. 运行第一个 Program Lab
使用Developer Command Prompt for VS来运行
先进入仓库目录,例如仓库放在 C:\Proj\DSA-Mastery
cd C:\Proj\DSA-Mastery
先使用环境检查命令:
pnpm lab:doctor -- labs/chapter-01/exercise/E-01-01-sequential-list-deduplication如果已安装 GNU Make,也可以使用等价命令:
make doctor LAB=labs/chapter-01/exercise/E-01-01-sequential-list-deduplication
如果环境检查通过,可以运行公开测试:
pnpm lab:run -- labs/chapter-01/exercise/E-01-01-sequential-list-deduplication使用 Make 时可以运行:
make run LAB=labs/chapter-01/exercise/E-01-01-sequential-list-deduplication结果中的 AC、PASS 和满分会显示为绿色;未通过状态及未满分的实际得分会醒目标出,Project 的待人工评分会显示 PENDING。颜色只帮助阅读,不改变判定;如果终端不适合显示颜色,可以在命令末尾加 --no-color。没有安装 GNU Make 也不影响使用 pnpm lab:* 入口。

也可以只运行示例测试:
pnpm lab:run -- labs/chapter-01/exercise/E-01-01-sequential-list-deduplication --case 001-sample对应的 Make 命令是:
make run LAB=labs/chapter-01/exercise/E-01-01-sequential-list-deduplication CASE=001-sample
9. 运行 Project Lab
Project Lab 除了 MSVC,还需要 CMake。可以先检查:
pnpm lab:doctor -- labs/chapter-08/project/P-08-01-avl-tree-rotations使用 Make 时可以运行:
make doctor LAB=labs/chapter-08/project/P-08-01-avl-tree-rotationsmake也可以在对应目录内执行:
PS C:\Proj\DSA-Mastery> cd labs/chapter-08/project/P-08-01-avl-tree-rotations
PS C:\Proj\DSA-Mastery\labs\chapter-08\project\P-08-01-avl-tree-rotations> make doctor
PASS 环境检查
平台:win32/x64 · Node v24.19.0
GCC NOT FOUND
Clang NOT FOUND
MSVC AVAILABLE 19.51.36256 (>= 19.30.0)
CMake AVAILABLE 4.3.1 (>= 3.25.0)
GNU Make AVAILABLE 4.4.1 (>= 4.0.0)
GNU Make 为推荐项而非必装依赖;免 Make 入口: pnpm lab:run -- <lab-path>然后运行 Project Lab:
pnpm lab:run -- labs/chapter-08/project/P-08-01-avl-tree-rotations对应的 Make 命令是:
make run LAB=labs/chapter-08/project/P-08-01-avl-tree-rotations也可以运行指定 task 和测试用例:
pnpm lab:run -- labs/chapter-08/project/P-08-01-avl-tree-rotations --task frequency --case weighted使用 Make 时可以运行:
make run LAB=labs/chapter-08/project/P-08-01-avl-tree-rotations TASK=frequency CASE=weighted