本文由 简悦 SimpRead 转码, 原文地址 blog.csdn.net
文章目录
vsCode 配置 C/C++ 环境 =====================
vsCode 下载和安装
1. 下载 Microsoft vsCode
2. 安装 vsCode






3. 下载中文插件
我这边已经下载过,刚卸载但是没有重启编译器,所以界面显示了中文


- MinGW 编译器下载和配置
1. 下载 MinGW
- 在线安装——下载 MinGW-W64-install.exe(速度慢)
- 下载压缩包——×86_64-posix-sjlj(速度快)

2. 下载后放到自己方便的目录,并复制文件里 bin 目录的路径(后面用得到)

3. 在系统环境变量配置 path 变量
- 可以 win+Q 直接搜索

或者右键我的电脑——属性

点击高级系统设置(这边是 win11 的界面)

点击环境变量

找到 Path——编辑

新建

把下载的 MinGW 里的 bin 目录路径粘贴在这里,我的电脑是 F:\codeConfiguration\MinGW\bin
完成后是这样

4. 检查是否配置成功
进入 bin 目录
输入 gcc -v 或 gcc -v 或 g++ -v

出现上述图片说明配置成功
vsCode 配置 c/c++
1. 下载 c/c++ 插件

下载完成后重启 vsCode
2. 配置
- 新建文件夹(用来放 vsCode 的项目)


在 vsCode 文件夹下创建一个
.vscode文件夹并创建 3 个文件分别是 c_cpp_properties.json,launch.json,tasks.json
可以直接复制三个 json 文件,但是路径需要修改,备注的区域都需要,但其他位置都不要动


c_cpp_properties.jsonjson{ "configurations": [ { "name": "Win32", "includePath": ["${workspaceFolder}/**"], "defines": ["_DEBUG", "UNICODE", "_UNICODE"], "windowsSdkVersion": "10.0.17763.0", "compilerPath": "F:\\codeConfiguration\\minGW\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/ "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "${default}" } ], "version": 4 }launch.json
json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "F:\\codeConfiguration\\MinGW\\bin\\gdb.exe", /*修改成自己bin目录下的gdb.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "task g++"
}
]
}tasks.json
json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "task g++",
"command": "F:\\codeConfiguration\\MinGW\\bin\\g++.exe", /*修改成自己bin目录下的g++.exe,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I",
"F:\\codeProject\\vsCode", /*修改成自己放c/c++项目的文件夹,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
"-std=c++17"
],
"options": {
"cwd": "F:\\codeConfiguration\\MinGW\\bin" /*修改成自己bin目录,这里的路径和电脑里复制的文件目录有一点不一样,这里是两个反斜杠\\*/
},
"problemMatcher":[
"$gcc"
],
"group": "build",
}
]
}3. 测试是否成功
- 创建一个文件夹放项目,项目名可以为 helloWorld.cpp,然后按 F5 运行
#include <stdio.h>
#include <windows.h>
int main()
{
printf("Hello World\n");
system("pause");
return 0;
}成功!!!

常见问题
1. c语言程序窗口执行到scanf函数出现闪退
可在头文件加上#include<stdlib>,main函数里return上面加上system("pause"); 可防止程序窗口闪退
2. c++直接加system("pause");一定要先创建一个. vscode 文件夹,记住前面有一个点,这个文件夹用来存放 3 个 json 配置文件,记住 3 个 json 文件要放进. vscode 里面!!!
最后
CMake环境搭建
安装MinGW(看上面)
CMake配置
- 环境变量配置:把CMake/bin路径丢到Path中,powershell执行
cmake --version检查环境变量配置状态 - VSCode安装CMake,CMake
- CMake:CMake通过读取CMakeLists.txt文件中的指令来生成相应的项目文件。这些指令可以包括如何编译源代码、如何制作程序库、如何产生适配器(wrapper),以及如何以任意顺序构建执行文件等。
Code Runner插件安装
不安装的话:
- 编译命令 gcc main.c
- 执行 ./a.exe
.vscode四个.json配置(不废话)
单文件调试(不废话)
多文件项目编译
- gcc命令
- 终端执行gcc .\src\test1.c .\test2.c(两个待编译) -o result(输出名称) -I .\include(搜索目录)
- CMake编译(依赖CMakeLists.txt)
CMake参数配置
- CMakeLists.txt参数
- project() 项目名称
- aux_source_directory() 搜索目录
- add_executable 生成编译文件
- include_directories() 声明头文件搜索目录
jsonproject(SanZiQi) aux_source_directory(. SRC_MAIN) aux_source_directory(src SRC_NEXT) add_executable(name ${SRC_MAIN} ${SRC_NEXT}) include_directories(include) - Ctrl+Shift+P打开命令面板,执行CMake Configure完成CMake配置(指定gcc编译器),生成项目Build文件夹
- 终端进入build文件夹,执行
cmake ..(用于指定CMake配置文件所在的目录。在这个命令中,'./'表示当前目录,'..'表示上一级目录。因此,'cmake ..'命令告诉CMake到上一级目录中查找CMakeLists.txt文件,并根据该文件中的描述来构建项目。这样做的目的是为了方便在不同的工作目录中执行CMake命令,而不需要每次都切换到包含CMakeLists.txt文件的目录。)
CMake构建项目
- cd到build目录下,执行mingw32-make.exe命令,生成exe文件,输出路径默认在build文件夹下,也可以通过
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY${CMAKE_CURRENT_SOURCE_DIR}/out)参数修改输出目录到out下 - 执行./name.exe