参考文章:https://blog.csdn.net/heilone6688/article/details/91050508
关于MSVC
它是我们在下载安装Viusal Stdio时官方默认帮助我们下载和配置好的
准备条件
系统默认Windows 10版本
安装了Visual Studio这款软件(安装了VC++组件)
配置环境变量
- 配置环境变量的方法
右键我的电脑/此电脑–>属性–>高级系统设置–>环境变量
然后我们可以看到这里有两类变量,一类是用户变量,一类是我的系统变量
我们要做的就是要对系统变量进行变量的创建和赋值
我们随便点开一个变量看看里面有什么
需要配置的环境变量名和值
变量名 | 变量值 |
---|---|
path | C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64 |
INCLUDE | C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include |
INCLUDE | D:\Windows Kits\10\Include\10.0.17763.0\shared |
INCLUDE | D:\Windows Kits\10\Include\10.0.17763.0\ucrt |
INCLUDE | D:\Windows Kits\10\Include\10.0.17763.0\um |
INCLUDE | D:\Windows Kits\10\Include\10.0.17763.0\winrt |
LIB | C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64 |
LIB | D:\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64 |
LIB | D:\Windows Kits\10\Lib\10.0.17763.0\um\x64 |
可以发现我们这里的给出了盘符名称,实际上我们的变量值的路径在我们每个人的电脑上路径可能是不一样的。一般来说我们在安装Visual Studio上面的路径都会存在,如果变量名不存在时可以新建变量,然后添加对应的值即可。
如何设置好自己的环境变量
先看第一个path变量
可以看到这个VS版本是2017版本的,如果你用的不是这个版本,那么非常有可能你的x64并不在这个里面
那么我们如何找到自己电脑上的路径呢?
这个和我们当初安装VS的位置有很大的关系
现在安装上图的路径看看我们会找到什么东西
首先,我们安装的一些软件绝大部分的默认安装路径是C的x86这个文件夹,上面的是我们在安装VS的一个文件,
现在我们可以通过打开VS的安装器(Install)来查看我们的文件到底安装到了哪里
我们到这个路径里面找找看!
果然发现了VC文件夹
对于第一个版本,我这里并没有bin这个库,所以这里不过多的解释,直接采用第二个版本
打开第二个版本
保存路径配置path变量
同样地我们可以依次找到
实际上这几个文件可以轻松的找到
其他的请自行查找并配置!
配置VScode
-
vscode默认编码是utf-8的编码,而Windows控制台的默认编码是gbk,在新建C/C++文件的时候我们让他使用gbk的编码
-
按照下图的步骤
-
在json添加下面的代码,在新建C/C++文件的时候使用gbk编码
"[c]": {
"files.encoding": "gbk"
},
"[cpp]": {
"files.encoding": "gbk"
},
自己随便写一些代码
此时vscode会在”.vscode“子文件夹中创建一个c_cpp_properties.json的配置文件,打开此文件,里面会包含一些默认设置。 C / C ++扩展会检测到visual studio的安装位置并自动设置compilerPath项。如果没有,您应该修改“cl.exe”的路径到compilerPath项。在默认的Visual Studio 2022 Build Tools安装中,“cl.exe”路径类似于这样:D:/Visual Studio IDE/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe,具体请自行查看所安装的visual studio的路径。另外确保将intelliSenseMode值设置为"msvc-x64"。“includePath”项暂时不需要,可以完全删除该设置。最终形成的文件内容如下:
{
"configurations": [
{
"name": "Win32",
//"includePath": [
// "${workspaceFolder}/**"
//],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.22000.0",
"compilerPath":"D:/Visual Studio IDE/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x64/cl.exe",
//"compilerPath": "cl.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
配置生成任务
生成task.json文件
这个时候vscode会创建一个tasks.json文件并打开它,使用下列命令替换:
label项将在vscode命令行中使用,可以是您喜欢的任何名称;
command项表明我们正在使用cl.exe(MSVC编译器);
args项指定将传递给上一步中指定的编译器的命令行参数。它们必须按编译器预期的顺序出现。在此示例中,我们指定了异常处理模式(EHsc)并告诉编译器生成带符号(Zi)的调试版本。/Fe项参数告诉编译器将可执行文件命名为“hello.exe”。最后的“hello.cpp”为当前要编译的C++源文件名称
{
"version": "2.0.0",
"tasks": [
{
"label": "msvc build",
"type": "shell",
"command": "cl.exe",
"args": [
"/EHsc",
"/Zi",
"/Fe:",
"hello.exe",
"hello.cpp"
],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal":"always"
},
"problemMatcher": "$msCompile"
}
]
}
配置调试设置
- 根据下图完成操作
- 完成上述过程vscode会创建launch.json的文件,用以下的内容替换
stopAtEntry项设置为false表示取消设置的默认断点;
externalConsole项设置为true表示使用外置的Windows系统控制台而不是vscode内置的调试控制台(原因在于由于前文所述的编码问题会导致在调试控制台输出中文时出现乱码)
请注意,程序名称hello.exe与tasks.json文件指定的名称相匹配
{
"version": "0.2.0",
"configurations": [
{
"name": "(msvc) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/hello.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true
}
]
}