cpp 安装

下面是完整的 MSYS2 安装 → UCRT64 编译器 → VS Code → Code Runner 教程,按 Windows 配置。

1.安装 MSYS2

打开 MSYS2 官网,下载 x86_64 安装程序。

安装路径保持:

C:\msys64

安装完成后,从开始菜单打开 MSYS2 UCRT64,或者直接运行:

C:\msys64\ucrt64.exe

终端提示符中应显示 UCRT64。MSYS2

2.更新 MSYS2

在 MSYS2 UCRT64 终端执行:

pacman -Syu

出现确认提示,输入 Y 并回车。

如果提示需要关闭终端完成更新,确认关闭,然后重新打开 MSYS2 UCRT64,再次执行:

pacman -Syu

直到没有待更新的软件包。后续更新 MSYS2 也使用这条命令。MSYS2

3.安装 UCRT64 编译工具链

仍然在 MSYS2 UCRT64 终端执行:

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

如果出现:

Enter a selection (default=all):

直接回车,安装全部组件。 随后询问是否安装,输入 Y 回车。该工具链包含 GCC/G++、GDB 等开发工具。github.com

安装完成后检查:

g++ --version
gdb --version
which g++

最后一条应该输出:

/ucrt64/bin/g++

对应 Windows 路径:

C:\msys64\ucrt64\bin\g++.exe

4.配置 Windows 环境变量

在 Windows 搜索框搜索 “编辑账户的环境变量”。

在上方的 用户变量 中:

  1. 选择 Path → 编辑。
  2. 点击 新建,添加:C:\msys64\ucrt64\bin
  3. 点击确定保存。如果已有其他 MinGW 路径,将这一项移到它们前面。

完全退出 VS Code,再重新打开,让新的环境变量生效。

打开一个新的 Windows CMD,检查:

where g++
g++ --version

第一条结果应该是:

C:\msys64\ucrt64\bin\g++.exe

5.安装 VS Code 扩展

在 VS Code 扩展页面安装:

扩展发布者用途
C/C++Microsoft代码补全、错误提示、调试支持
Code RunnerJun Han快捷编译运行

6.配置 VS Code 和 Code Runner

按 Ctrl + Shift + P,搜索:

Preferences: Open User Settings (JSON)

打开 用户设置 JSON,合并以下内容。已有配置不要直接删除,也不要重复添加同名设置。

"code-runner.runInTerminal": true,
"code-runner.saveFileBeforeRun": true,
"code-runner.ignoreSelection": true,
"code-runner.fileDirectoryAsCwd": true,
"code-runner.executorMap": {
    "cpp": "cd /d \"$dirWithoutTrailingSlash\" && \"C:\\msys64\\ucrt64\\bin\\g++.exe\" -std=c++17 -g \"$fileName\" -o \"$fileNameWithoutExt.exe\" && \".\\$fileNameWithoutExt.exe\""
},
"terminal.integrated.profiles.windows": {
    "CMD": {
        "path": "C:\\Windows\\System32\\cmd.exe"
    }
},
"terminal.integrated.defaultProfile.windows": "CMD",
"terminal.integrated.env.windows": {
    "PATH": "C:\\msys64\\ucrt64\\bin;${env:PATH}"
},
"C_Cpp.default.compilerPath": "C:/msys64/ucrt64/bin/g++.exe",
"C_Cpp.default.intelliSenseMode": "windows-gcc-x64",
"C_Cpp.default.cppStandard": "c++17"

这份配置的效果:

  • 补全与实际编译都使用 UCRT64 的 G++、C++17。
  • Code Runner 在终端运行,支持 cin 输入。
  • 运行前自动保存,始终编译整个文件。
  • 编译成功后才运行,生成的 .exe 放在源文件旁边。github.com

保存后,点击终端的垃圾桶关闭旧终端,再新建终端,确保使用 CMD。

7.测试编译和输入

新建文件夹,例如:

D:\CppPractice

在 VS Code 中通过 文件 → 打开文件夹 打开它,然后创建 main.cpp:

#include <iostream>
using namespace std;

int main() {
    int a, b;
    cout << "Input two numbers: ";
    cin >> a >> b;
    cout << "Sum = " << a + b << '\n';
    return 0;
}

保存后按:

Ctrl + Alt + N

点击下方终端,输入:

3 5

回车后应该显示:

Sum = 8

也可以右键编辑区,选择 Run Code。

这套配置用于单个 C++ 文件的编译运行;F5 断点调试还需要配置 tasks.json 和 launch.json。

如果你指的是 默认进入安全的“受限模式(Restricted Mode)”,不弹信任询问,在用户 settings.json 中加入:

"security.workspace.trust.enabled": true,
"security.workspace.trust.startupPrompt": "never",
"security.workspace.trust.emptyWindow": false,
"security.workspace.trust.untrustedFiles": "newWindow"

效果:

  • 未信任的文件夹默认进入受限模式。
  • 空窗口也默认处于受限模式。
  • 不受信任的外部文件在新的受限窗口打开。
  • 已经信任过的文件夹仍保持信任。code.visualstudio.com

要取消已有信任,按 Ctrl + Shift + P,搜索 Workspaces: Manage Workspace Trust,删除对应的受信任目录;如果信任的是父目录,也需要移除父目录。

如果你实际想要的是“默认信任,直接使用 Code Runner,不再询问”,则设置:

"security.workspace.trust.enabled": false

这会关闭工作区信任检查。受限模式会限制代码执行相关功能,因此你自己编写的 C++ 项目可以单独设为可信。code.visualstudio.com

明白,你要的是全局配置后,Code Runner 能运行,F5 也能自动编译并用 GDB 调试。之前只给了运行配置,没补全。

保留之前的 Code Runner 设置,再添加下面两项即可。G++ 负责编译,GDB 负责调试。

1.添加全局编译任务

按 Ctrl + Shift + P,输入:

Tasks: Open User Tasks

打开用户任务,如果让你选择模板,选 Others。填入以下内容;已有任务则将这一项加入 tasks 数组:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "UCRT64: Build Active C++ File",
            "type": "process",
            "command": "C:\\msys64\\ucrt64\\bin\\g++.exe",
            "args": [
                "-std=c++17",
                "-g",
                "-O0",
                "-Wall",
                "-Wextra",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}",
                "env": {
                    "PATH": "C:\\msys64\\ucrt64\\bin;${env:PATH}"
                }
            },
            "problemMatcher": ["$gcc"],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

这是 全局用户任务,不用在每个文件夹创建 tasks.json。code.visualstudio.com

2.添加全局 GDB 调试配置

按 Ctrl + Shift + P → Preferences: Open User Settings (JSON)。

在之前的用户设置中,加入下面的 "launch" 项,注意与前面的设置用逗号分隔:

"launch": {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "UCRT64: Debug Active C++ File",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [
                {
                    "name": "PATH",
                    "value": "C:\\msys64\\ucrt64\\bin;${env:PATH}"
                }
            ],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable GDB pretty printing",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "UCRT64: Build Active C++ File"
        }
    ]
}

VS Code 支持通过用户设置中的 launch 定义跨项目的全局调试配置。这里会先编译当前文件,再通过 GDB 启动对应的 .exe。code.visualstudio.com

3.切换掉截图中那个错误的旧配置

  1. 打开并保存你的 .cpp 文件。
  2. 按 Ctrl + Shift + D,在“运行和调试”顶部下拉框选择:
    UCRT64: Debug Active C++ File。
  3. 在代码行号左边点击设置断点。
  4. 确保当前编辑器显示的是 .cpp 文件,再按 F5。

不要继续选原来带 enter program name 占位文字的配置。

操作快捷键
Code Runner 编译运行Ctrl + Alt + N
编译并使用 GDB 调试F5
使用所选调试配置运行,不启用断点Ctrl + F5
仅编译Ctrl + Shift + B

输入 cin 的内容时,在下方的终端输入。这套配置适用于单文件 C++ 程序,输出名称自动跟随源文件名。

“C_Cpp.debugShortcut”: false,
“code-runner.showRunIconInEditorTitleMenu”: true


{
    "files.encoding": "utf8",
    "files.autoGuessEncoding": true,
    "code-runner.runInTerminal": true,
    "code-runner.saveFileBeforeRun": true,
    "terminal.integrated.defaultProfile.windows": "Command Prompt"
}

"code-runner.executorMap": {
    "cpp": "chcp 65001 >nul && cd /d \"$dir\" && g++ -std=c++17 -finput-charset=UTF-8 -fexec-charset=UTF-8 \"$fileName\" -o \"$fileNameWithoutExt.exe\" && \"$fileNameWithoutExt.exe\""
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
Blender 教程

Blender 动画很卡解决方法汇总

2026-10-2 16:02:01

MMD 渲染

【mmd教程】2.动作与物理基础烘焙

2026-10-2 16:27:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
❯
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索