• 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 }

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

          

     
  • 相关阅读:
    selenium iframe切换
    roboframework环境搭建与使用
    ServHa双机热备简单配置
    linux搭建java ee开发环境
    FPGA学习笔记(五)—— 组合逻辑电路设计
    FPGA学习笔记(三)—— 数字逻辑设计基础(抽象的艺术)
    FPGA学习笔记(一)——初识FPGA
    FPGA学习笔记(二)——FPGA学习路线及开发流程
    【js重学系列】异步编程
    【js重学系列】作用域
  • 原文地址:https://www.cnblogs.com/CCWangsj/p/12296064.html
Copyright © 2020-2023  润新知