编译器
本页面主要介绍了各系统下各类编译器/解释器的安装步骤.
GCC
Windows
手动下载安装
访问 MinGW-w64 的下载页面,有多个构建版本.方便起见,我们使用由 WinLibs 提供的构建版本.
首先前往 WinLibs 下载最新的安装包,选择合适的版本,本文选择了 GCC 12.3.0 + LLVM/Clang/LLD/LLDB 16.0.4 + MinGW-w64 11.0.0 (UCRT):
默认会附带安装 LLVM Clang,如果不想安装,你也可以选择右边的 without LLVM/Clang/LLD/LLDB.

下载好后将其解压到电脑中的某个位置,教程中将其解压到了 C 盘的根目录.目录名中最好不要包含非英文字符和空格,否则可能会在后期导致一些问题.

接下来我们需要将编译器的可执行文件目录添加到系统环境变量中,这样在编译时就不需要指定编译器的路径了,方便使用.上方我们将 MinGW 解压到了 C:\mingw64 目录中,那么可执行文件所在的目录就是 C:\mingw64\bin.
按下 Windows 徽标 + R 组合键,输入 rundll32.exe sysdm.cpl,EditEnvironmentVariables,打开系统环境变量设置窗口,并在「系统变量」一节中选中名为「Path」的变量,然后点击「编辑」按钮:

在编辑窗口中点击右侧的「新建」按钮,为「Path」变量新建一个条目,并填入上文中记录下的可执行文件所在的目录(教程中为 C:\mingw64\bin).

对部分老版本系统的提示
部分老版本系统只能手动修改变量的文本值,那么需要在变量的值的末尾插入一个 半角分号,再将可执行文件所在的目录粘贴到这个半角分号的后面,如图所示:

完成后一路点击「确定」按钮退出即可.
接下来打开终端,输入 g++ --version 并按下回车,如果出现如图所示的提示则代表安装成功.

MSYS2 安装
MSYS2 提供多个彼此独立的开发环境.如果不确定应该选择哪个,MSYS2 官方建议使用 UCRT64.
打开 PowerShell,运行以下命令安装 MSYS2:
1 | |
安装完成后,在开始菜单中搜索并打开 MSYS2 UCRT64 终端.MSYS2 是滚动发行版,首先完整更新系统:
1 | |
如果更新过程中提示关闭所有 MSYS2 进程,确认后重新打开 MSYS2 UCRT64 终端,并再次执行 pacman -Suy,直到更新完成.
然后安装 UCRT64 环境下的完整 GNU 工具链:
1 | |
在 UCRT64 环境中,MINGW_PACKAGE_PREFIX 的值为 mingw-w64-ucrt-x86_64,因此上述命令会安装 GCC、GDB、Make 等工具.安装完成后,可运行以下命令验证:
1 2 3 | |
为什么是 UCRT64
UCRT64 使用 GCC、UCRT 和 libstdc++,也是 MSYS2 在不确定如何选择环境时推荐使用的环境.CLANG64 同样使用 UCRT,但默认使用 LLVM/Clang、LLD 和 libc++.MINGW64 使用较旧的 MSVCRT,目前已被 MSYS2 列为 legacy 环境.MSYS 环境则主要用于运行依赖 POSIX 兼容层的 Unix 工具,不适合用来生成普通的原生 Windows 竞赛程序.
UCRT 能提高与 MSVC 在 C 运行时层面的兼容性,但这并不意味着 GCC/MinGW 与 MSVC 的 C++ ABI 或对象文件、静态库可以直接互换.
不要修改全局 Path
不建议将 C:\msys64\ucrt64\bin 添加到 Windows 的全局 Path.MSYS2 UCRT64 终端启动时已经会为当前环境设置正确的 PATH;直接使用对应的 MSYS2 终端可以避免不同环境的工具链和运行库相互混用.
需要注意的是,在不把 UCRT64 的 bin 目录加入 Windows 全局 Path 的情况下,也不应直接在普通的 PowerShell 或 CMD 中调用 MSYS2 安装的 GCC.例如,GCC 在编译过程中会启动 cc1.exe 等内部程序,而这些程序依赖的 DLL 位于 UCRT64 环境的 bin 目录中;如果没有由 MSYS2 UCRT64 终端预先设置好环境变量,就可能因找不到依赖 DLL 而启动失败.因此,使用这套 GCC 工具链时,应从 MSYS2 UCRT64 终端或继承了该终端环境变量的终端中运行编译命令.
Scoop 安装
打开 PowerShell,运行以下脚本:
1 2 3 | |
Linux
Debian/Ubuntu
首先先更新软件包列表:
1 | |
再使用命令直接安装即可:
1 | |
Arch Linux
使用命令直接安装即可:
1 | |
openSUSE
使用命令直接安装即可:
1 | |
macOS
首先更新包管理器:
1 2 | |
再使用命令直接安装即可:
1 | |
JDK
JDK 的发行版有很多,以下介绍两种:
- OpenJDK 中的 Eclipse Temurin2:参见 Install Eclipse Temurin™ | Adoptium.
- Oracle JDK:可参见 JDK Installation Guide(JDK 17).
Python 3
Python 的实现也有很多1,以 CPython 3 为例,参见 Download Python | Python.org.
LLVM
Windows
LLVM 在 Windows 上的坑
由于 LLVM 在 Windows 上缺失标准库,所以你仍需安装 MSVC 或 GCC.
直接安装
访问 LLVM 的下载页面,选择 LLVM-*-win64.exe 下载.
如果你的网络质量不佳,你也可以选择访问 清华大学开源软件镜像站 进行下载.
打开 .exe 文件,安装时勾选 Add LLVM to system PATH for current user,随后一直点击下一步即可安装完成.
打开终端,输入 clang++ --version 并回车,出现
1 2 3 4 | |
类似物即代表成功.
MSYS2 安装
MSYS2 中既可以在 UCRT64 环境里额外安装 Clang,也可以直接使用以 LLVM 为默认工具链的 CLANG64 环境.
UCRT64 环境
如果平时主要使用 GNU GCC,只是偶尔需要 Clang,可以在 MSYS2 UCRT64 终端中安装:
1 | |
如果还需要 clangd、clang-tidy 等开发工具,再安装:
1 | |
UCRT64 属于 GCC 系环境,因此这里安装的 Clang 默认仍使用 GNU 链接器和 libstdc++,可以继续使用 bits/stdc++.h 等 libstdc++ 提供的内容.安装完成后,可运行以下命令验证:
1 2 | |
CLANG64 环境
如果希望使用以 LLVM 为核心的完整环境,可以从开始菜单打开 MSYS2 CLANG64 终端.如果此前还没有更新 MSYS2,先执行:
1 | |
如果更新过程中提示关闭所有 MSYS2 进程,重新打开 MSYS2 CLANG64 终端后再次执行该命令.随后安装当前环境的完整工具链:
1 | |
在 CLANG64 环境中,MINGW_PACKAGE_PREFIX 的值为 mingw-w64-clang-x86_64;该工具链包含 Clang、LLVM、LLD、LLDB、libc++、Make 等组件.CLANG64 终端会自动设置当前环境所需的 PATH,同样不建议把 C:\msys64\clang64\bin 添加到 Windows 的全局 Path.
Scoop 安装
打开 PowerShell,运行以下脚本:
1 2 3 | |
Linux
openSUSE
使用命令直接安装即可:
1 | |
MSVC (Visual Studio)
访问 下载 Visual Studio 页面,找到「下载」一节中的「社区」部分,点击「免费下载」.下载完成后打开安装器选择「Community 2022 安装」.在随后弹出来的窗口中仅选择「使用 C++ 的桌面开发」,然后单击安装.
如果你不想安装完整的 Visual Studio,可以滚动到下方「所有下载」一节,在「用于 Visual Studio 的工具」中找到「Visual Studio 生成工具」,点击后方的「下载」.下载完成后打开安装器,按照提示步骤选择「使用 C++ 的桌面开发」后安装即可.也可以使用 PortableBuildTools 工具以仅安装 MSVC 编译器.
-
Eclipse Temurin 即为原 AdoptOpenJDK,后者已于 2021 年 7 月移交至 Eclipse 基金会.具体可见 本声明. ↩
本页面最近更新:2026/9/24 21:00:37,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:Tiphereth-A, alphagocc, argvchs, CoelacanthusHex, Enter-tainer, Great-designer, HeliumOI, HeRaNO, Qubik65536, renbaoshuo, Suyun114
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用