Windows 【这个相信大家都有 笑: )】
VS Code
MinGW-w64
C/C++
安装 MinGw-w64具体说明细节和安装体验可以在《⑨也懂系列:MinGW-w64安装教程》这里查看。这里只记录一下安装设置和变量设置。
如果刚 Next 就出现 Cannot download reposytory.txt[0] 错误,可以尝试关闭杀毒软件(包括 Windows Defender),并以管理员方式运行。
安装设置说明Version:GCC 版本,若无特殊需求优选最高
Architecture:系统架构,64 位系统选 x86_64,32 位选 i686
Threads:操作系统 API,开发 Windows 程序选 win32,开发 Linux、Unix、Mac OS 等其他 posix 协议的操作系统程序选 posix
Exception:异常处理模型
64 位系统
seh:性能优化好,优选
sjlj:稳定性好
32 位系统
dwarf:性能优化好
sjlj:稳定性好
Build revision:修订版本,保持默认即可
环境变量添加打开 此电脑-属性-高级系统设置-高级-环境变量,在 系统变量-Path 编辑并新建添加你 MinGw-w64 安装目录下的 bin 文件夹路径,例如 C:\Program Files\mingw-w64\x86_64-8.1.0-win32-seh-rt_v6-rev0\mingw64\bin。保存即可。
可以在 cmd 或 powershell 中运行 gcc --version 判断是否安装正确。(安装正确会输出版本号)
重启 VS Code。
VS Code这里需要先注意的是,这里的所有配置都是基于一个工作区(文件夹)的(因为编辑器编译调试需要配置文件),当然你也可以直接打开文件夹。但若要直接编译 .c&.cpp 文件,可以直接执行 ~gcc {.c} , ~g++ {.cpp} 进行编译。
先新建并打开你的工作(代码运行)区。
这里还需要注意的是,添加好环境变量后一定要重启 VS Code。必须退出后重新启动,否则编辑器无法识别编译指令。
C/C++ 拓展C/C++ 拓展供了针对 C/C++ 的 IntelliSense 与调试等功能,搜索「C/C++」即可直接安装。
Ctrl+Shift+P 打开命令面板,运行 C/Cpp: Edit configurations,插件会在当前目录下创建 .vscode/c_cpp_properties.json 配置文件,只针对本次的项目。
若你系统已安装 Visual Studio,它会自动将编译器等设置链接过去,但我们这不需要它。可以参考以下配置:
{ "configurations": [ { "name": "MinGW", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "compilerPath": "{your_mingw-w64_bin_gcc.exe_path}", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 }上面的 {your_mingw-w64_bin_gcc.exe_path} 替换成你需要的编译器路径。例如:
gcc:C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe
g++:C:/Program Files/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe
(/, \\ 都是可行的)
关于库文件设置,C/C++ 扩展已经可以通过 compilerPath 自动推断头文件以及库文件所在的目录,所以无需手动配置。
编译与调试配置好上述文件后,可以先写一段 C/C++ 代码,测试编译并调试一下。(以下所有展示的配置只适用于单文件的编译并调试)
#include <stdio.h> int main() { printf("hello world"); return 0; } 编译设置:tasks.json编译之前,需要先创建 .vscode/tasks.json(无需手动创建)。这个配置文件提供命令行构建配置,让编译器调用然后终端执行。
Ctrl+Shift+P 打开命令面板,运行 Tasks: Configure Task,选择 使用模板创建 tasks.json 文件,选择 Others 运行任意外部命令的示例。至此,编辑器会生成 .vscode/tasks.json 文件。编辑文件,例如:
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { // 任务标签名 "label": "compile", // 任务类型 "type": "shell", // 编译器选择 "command": "gcc", // 编译预执行的命令集 "args": [ "-g", "\"${file}\"", "-o", "\"${fileDirname}\\${fileBasenameNoExtension}\"" ], // 任务输出配置 "presentation": { "reveal": "always", "panel": "shared", "focus": false, "echo": true }, // 任务所属组名 "group": { "kind": "build", "isDefault": true }, // 编译问题输出匹配配置 "problemMatcher": { "owner": "cpp", "fileLocation": "absolute", "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } } } ] }简单地注释了一下每一个配置的目的,具体可以在 查看。
以上是 gcc 编译器配置,若要编译 C++ ,将 command 改为 g++ 即可。