VSCode 配置C/C++中遇到的问题

2020-02-11  18:04:31

起因:

  VScode是轻量级的IDE,在自己的笔记本上跑都能很流畅,原来自己编译C的IDE还是Keil.......  必须更新换代,所以开始在VSCode上配置C/C++环境,目标:能在VSCode上编译C,生成exe文件、运行。

过程:

  网上很多教程,找了半天,直接跳过教你官网下载编译器的那些,

  推荐一个b站up主的视频,自己写好了自动的配置和运行文件,十分方便!:【一键】20秒配置VScodeC语言C++开发环境!

问题:

  问题1:

      配置好环境变量后:(tip1:在运行代码的时候仍要检查环境变量是不是正确的,tip2:改变环境变量后,重启电脑才能生效)

      path:               D:mingwin       

      INCLUDE:      D:mingwinclude

      先是遇到了只有.c文件,没有.exe文件:

      

      分析过程和解决办法:在工程文件夹里确实没有看到.exe文件,说明文件夹可能没有权限写出编译后的exe文件;就把工程文件夹的目录换到D盘(原本在VSCode安装文件夹里),可以这样:    D:mingwinclude,再次安装后就能产生exe文件。

      注意不要!!!:
      “调试显示preLaunchTask"g++"已终止退出代码为1,把launch.json里的prelaunchtask g++用双斜杠注释掉可解决”(参考b站一留言:

  问题2:能有exe文件了,但是不能正常编译,现象:改变.c文件里的打印内容,发现调试运行后仍然为原来的内容。

      分析过程和解决办法:出现这样的现象也就是.c文件没有编译成功,没有产生新的exe文件,还在执行老的.exe文件,因此不显示新的打印内容,所以在编译器的配置上找问题,尝试换路径,检查编译器版本,检查编译器是否运行(命令行里输入gcc -v 查看编译器版本,能看到说明编译器安装好了),无果。

      只有改配置文件了,三个json文件(附上三个配置文件:launch.json,tasks.json,.c_cpp_propertiesjson)

      参考了简书上一个博客:Visual Studio Code 运行&&调试c语言,更改了up主的极速配置文件。

 1 {
 2     "version": "0.2.0",
 3     "configurations": [
 4         {
 5             "name": "(gdb) Launch",
 6             "type": "cppdbg",
 7             "request": "launch",
 8             "targetArchitecture": "x86", 
 9             "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
10             "miDebuggerPath": "D:/mingw/bin/gdb.exe",
11             "MIMode": "gdb",
12             "args": [],
13             "stopAtEntry": false,
14             "cwd": "${workspaceRoot}",
15             "environment": [],
16             "externalConsole": true,
17             "preLaunchTask": "gcc"
18         }
19     ]
20 }
 1 {
 2   "version": "2.0.0",
 3   "command": "gcc",
 4   "type": "shell",
 5   "presentation": {
 6     "echo": true,
 7     "reveal": "always",
 8     "focus": false,
 9     "panel": "shared",
10     "showReuseMessage": true,
11     "clear": false
12   },
13   "args": ["-Wall", "-g", "${file}", "-o", "${fileBasenameNoExtension}.exe"],
14   //"args": ["-g", "'${file}'", "-o", "'${fileDirname}/${fileBasenameNoExtension}.exe'"],
15   "problemMatcher": {
16     "owner": "cpp",
17     "fileLocation": ["relative", "${workspaceFolder}"],
18     "pattern": {
19       "regexp": "^(.*):(\d+):(\d+):\s+(warning|error):\s+(.*)$",
20       "file": 1,
21       "line": 2,
22       "column": 3,
23       "severity": 4,
24       "message": 5
25     }
26   }
27 }
 1 {
 2     "configurations": [
 3         {
 4             "name": "Win32",
 5             "includePath": [
 6                 "${workspaceFolder}/**",
 7                 "D:/mingw/include/*"
 8             ],
 9             "defines": [
10                 "_DEBUG",
11                 "UNICODE",
12                 "_UNICODE"
13             ],
14             "compilerPath": "D:/mingw/bin/gcc.exe",
15             "cStandard": "c11",
16             "cppStandard": "c++17",
17             "intelliSenseMode": "gcc-x64"
18         }
19     ],
20     "version": 4
21 }

    最后就可以编译、运行成功。

      

 
原文地址:https://www.cnblogs.com/CCWangsj/p/12296064.html