编辑
2023-09-24
C++学习
00
请注意,本文编写于 452 天前,最后修改于 439 天前,其中某些信息可能已经过时。

目录

MinGW的下载与安装
配置环境变量
在VScode中配置C/C++环境
添加配置文件
调整配置文件遇到的问题及解决

本文记录一下笔者在配置中遇到的问题以及解决办法

VScode的下载和安装就不说了,网上都有教程。重点是要下载并配置编译器(笔者之前安装过Visual studio,想当然得以为VS自带的编译器可以在code中继续用,事实证明是不可行的,还是逃不过要下载新的编译器)

MinGW的下载与安装

官网地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/

image

下滑来到这里:(笔者搜到的教程中下载x86_64-win32-seh的偏多,也有推荐下载posix-sjlj的,应该都是可以的)

image

下载好之后请将文件解压到合适的地址中(尽量不要放在C盘),同时找到名为“bin”的文件夹,复制好文件地址(后边配置中会用到)

配置环境变量

  1. 使用快捷键“Win”+Q 弹出搜索框直接查找系统环境变量,按图示操作进行配置
image image

然后点“确定”。注意要点击三次!!!弹出的每一个窗口的“确定”都得点击才能保存成功!!!

  1. 检验是否配置成功:快捷键“Win”+R 输入cmd,在小黑窗中输入"g++"或者"gcc -v":
image

如果出现图示代码表示配置成功!

在VScode中配置C/C++环境

安装C/C++扩展:

image

笔者安装的版本是1.8.4(最开始安装的也是最新版,但后面遇到了一些其他问题,有教程说需要改成这个版本)

如果需要更换版本按以下步骤操作:

image

下载完成后记得重启VScode.

添加配置文件

  1. 首先需要在VScode里新建一个文件夹(笔者命名为C++),可以任意命名,但最好不要有中文或者特殊字符
  2. 在“C++”下创建一个“.vscode”的文件,并新建一个格式为.cpp的文件(或者直接点击“C++”那一栏最左边第一个图标进行新建)
image

编译下面的代码:

#include <stdio.h> #include <windows.h> int main() { printf("Hello World\n"); system("pause"); return 0; }

注意:不要用其他的代码试,笔者一开始使用的其他代码并不能成功跳转到后面该进行的步骤,导致配置进行不下去。

之后的步骤请参考:https://blog.csdn.net/weixin_44996090/article/details/104432593

(为了节约大家的时间,建议从该博文的11、开始阅读)

需要强调的是:涉及到.json文件中相关地址的修改,只需要回到“bin”文件夹中找到对应的文件,右键复制其地址即可,不过再输入到配置文件中,需要对路径分隔符(即\)进行修改,否则会报错的。

调整配置文件遇到的问题及解决

为了更好的使用体验,笔者对配置文件进行了一些调整。

  1. launch.json:
json
{ "version": "0.2.0", "configurations": [ { "name": "g++.exe - 生成和调试活动文件", "type": "cppdbg", "request": "launch", "program": "C:/WINDOWS/system32/cmd.exe", "args": ["/C","${fileDirname}\\${fileBasenameNoExtension}.exe","&","pause"], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": true, //改为true,弹出外部终端窗口 "MIMode": "gdb", "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true }, { "description": "将反汇编风格设置为 Intel", "text": "-gdb-set disassembly-flavor intel", "ignoreFailures": true } ], "preLaunchTask": "C/C++: g++.exe" } ] }
  1. tasks.json:
json
{ "tasks": [ { "type": "cppbuild", "label": "C/C++: g++.exe", //名称一定要与launch.json中的preLaunchTask对应 "command": "D:\\mingw64\\bin\\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": "build", "detail": "调试器生成的任务。", "presentation": { "panel": "new" } }, { "type": "cppbuild", "label": "C/C++: g++.exe 生成活动文件", "command": "D:\\mingw64\\bin\\g++.exe", "args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "编译器: D:\\mingw64\\bin\\g++.exe" } ], "version": "2.0.0" }

以上均为修改后的配置文件代码。在这里笔者进行的调整以及遇到的问题有:

  1. 在launch文件中: "externalConsole": true, //改为true,这样才会弹出“小黑窗”
  2. 此时,在调试代码时会提示:“终端将被任务重用,按任意键关闭”:

原因:本地端口是被共享的,必须关掉上一个进程才能执行另一个;

解决办法:在tasks文件中添加:

json
"presentation": {"panel": "new"}

修改之后对每一个进程都会生成一个新的窗口。

  1. 终端窗口能正常显示后,又出现了新的问题:终端窗口闪退,解决方案:打开launch文件, 首先将"program":之后的内容粘贴到"args"中,然后找到cmd的地址(一般都是"C:/WINDOWS/system32/cmd.exe"),粘贴到"program:" 后面,然后按修改"args":

"args": ["/C","${fileDirname}\\${fileBasenameNoExtension}.exe","&","pause"],

  1. 最后遇到的问题是:当代码需要cout中文字符时,终端显示为乱码,这个问题笔者找了很多教程,但都没能解决。

以上就是笔者在配置环境时遇到的一些问题以及相应的解决方案。由于笔者很菜,所以记录难免有疏漏,也不一定能很好地解决大家遇到的问题。欢迎大家多多留言指点!

本文作者:jdd

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!