1、Visual Studio Code简介

VS Code实际上一个功能强大的文本编辑器,在借助安装插件的基础上亦可实现编译功能。支持Windows,OS X和Linux,内置JavaScript、TypeScript和Node.js支持,而且拥有丰富的插件生态系统,可通过安装插件来支持C++、C#、Python、PHP等其他语言。

VS Code官方网站:

https://code.visualstudio.com/docs/cpp/config-mingw#_prerequisites

2、Visual Studio Code安装

VS按照比较简单,从官网网站下载安装包后按照流程依次单击下一步执行即可。

官网下载链接:

https://code.visualstudio.com/download

3、Visual Studio Code 配置C/C++编译环境

3.1、VS上安装C/C++运行环境插件

3.2、下载MinGW插件并配置环境变量

3.2.1、下载链接

下载地址:https://sourceforge.net/projects/mingw-w64/files/

下载的文件:进入网站后不要点击 "Download Lasted Version",往下滑,找到最新版的 "x86_64-posix-seh"。

安装MinGW:下载后是一个7z的压缩包,解压后移动到你想安装的位置即可。

注意:安装包放的路径最好不要使用中文名字,以免出现其他意想不到的问题。

3.2.2、设置环境变量

控制面板--->系统与安全--->系统--->高级系统配置--->高级--->环境变量--->系统变量--->path,中添加MinGW安装包中bin目录的路径:

如:D:\Program Files\mingw64\bin\

3.3、配置VS C/C++运行环境

3.3.1、配置c_cpp_properties.json文件

{"configurations": [{"name": "Win32","includePath": ["${workspaceFolder}/**","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","D:/Program Files/mingw64/x86_64-w64-mingw32/include"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"cStandard": "c17","cppStandard": "c++17","intelliSenseMode": "${default}","compilerPath": "D:/Program Files/mingw64/bin/g++.exe"}],"version": 4
}

3.3.2、配置launch.json

{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(g++)Start","preLaunchTask":"g++",//与tasks.json中的label一致"type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": true,//false change to true"MIMode": "gdb","miDebuggerPath": "D:\\Program Files\\mingw64\\bin\\gdb.exe",//"/path/to/gdb""setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true,}]}]
}

3.3.3、配置tasks.json

{// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "g++","type": "shell","command":"D:\\Program Files\\mingw64\\bin\\x86_64-w64-mingw32-g++.exe","args": ["-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "D:\\Program Files\\mingw64\\bin"},"problemMatcher":["$gcc"],"group": {"kind": "build","isDefault": true},},]
}

注意:launch.json中的preLaunchtask标签的配置要与tasks.json中的label标签的配置一样,上述两个文件设置的都是“g++”。

3.3.4、参考链接:

https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools

https://www.cnblogs.com/bpf-1024/p/11597000.html

4、Visual Studio Code 配置C/C++编译环境时问题及解决方法

4.1、问题描述:vscode C++ debug: lldb: unrecognized option `--interpreter=mi'或者Unable to start debugging. Launch options string provided by the project system is invalid. Unable to determine path to debugger. Please specify the "MIDebuggerPath" option.

(1)问题原因:

launch.json中的miDebuggerPath配置有问题。

(2)解决方法

 "MIMode": "gdb","miDebuggerPath": "D:\\Program Files\\mingw64\\bin\\gdb.exe",//"/path/to/gdb"

注意:需要填写gdb.exe的完整路径,不能使用gcc.exe或g++.exe等。

4.2、问题描述:vscode检测到#include错误,请更新includePath

(1)cmd下执行g++ -v -E -x c++ -

C:\Users\z00017938>g++ -v -E -x c++ -
Using built-in specs.
COLLECT_GCC=g++
Target: x86_64-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --prefix=/mingw64 --with-sysroot=/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=nocona --with-tune=core2 --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/x86_64-w64-mingw32-static --with-pkgversion='x86_64-posix-seh-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/include -I/c/mingw810/prerequisites/x86_64-zlib-static/include -I/c/mingw810/prerequisites/x86_64-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/opt/lib -L/c/mingw810/prerequisites/x86_64-zlib-static/lib -L/c/mingw810/prerequisites/x86_64-w64-mingw32-static/lib '
Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
COLLECT_GCC_OPTIONS='-v' '-E' '-shared-libgcc' '-mtune=core2' '-march=nocona'D:/Program Files/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/8.1.0/cc1plus.exe -E -quiet -v -iprefix D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/ -D_REENTRANT - -mtune=core2 -march=nocona
ignoring duplicate directory "D:/Program Files/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++"
ignoring duplicate directory "D:/Program Files/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32"
ignoring duplicate directory "D:/Program Files/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward"
ignoring duplicate directory "D:/Program Files/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/8.1.0/include"
ignoring nonexistent directory "C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64C:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../include"
ignoring duplicate directory "D:/Program Files/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed"
ignoring duplicate directory "D:/Program Files/mingw64/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "C:/mingw810/x86_64-810-posix-seh-rt_v6-rev0/mingw64/mingw/include"
#include "..." search starts here:
#include <...> search starts here:D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backwardD:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/includeD:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixedD:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include
End of search list.

(2)将如下路径copy

 D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backwardD:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/includeD:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixedD:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include

(3)vscode上将复制的路径添加到c_cpp_properties.json的如下位置:

"includePath": ["${workspaceFolder}/**","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include","D:/Program Files/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","D:/Program Files/mingw64/x86_64-w64-mingw32/include"],

Visual Studio Code 配置C/C++编译环境流程及问题解决(Win10环境)相关推荐

  1. 在Visual Studio Code配置GoLang开发环境

    在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs Visu ...

  2. Visual Studio Code 配置 Java开发环境

    第一步:下载vscode 官网:Visual Studio Code - Code Editing. Redefined 第二步:下载Java     官网:Java Downloads | Orac ...

  3. 小白Mac C/C++ for Visual Studio Code配置

    小白Mac C/C++ for Visual Studio Code配置 一. VS Code安装 VS Code官网下载地址 (下载完成后是英文的,自己在插件管理里面下载个语言包) C/C++ fo ...

  4. WSL + Visual Studio Code 配置 Geant4

    教程 blog已转移至GitHub WSL + Visual Studio Code 配置 Geant4 | Myoontyee's Blog | CT & Robotichttps://my ...

  5. python网页运行环境_Python小牛叔Web开发1:安装Visual Studio Code配置Python运行环境...

    本系列是Python小牛叔Web开发系列,以Django为框架介绍如何使用Python来开发Web应用,本教程适合对于Web开发有基本知识的入门者. 1.安装Visual Studio Code编辑器 ...

  6. visual code php,vscode(Visual Studio Code)配置PHP开发环境的方法(已测)_编程开发_软件教程...

    Visual Studio Code一个轻量且强大的代码编辑器,支持Windows,OS X和Linux.内置JavaScript.TypeScript和Node.js支持,而且拥有丰富的插件生态系统 ...

  7. visual studio Code配置C++环境:

    vsCode 配置C++环境需要安装mingw64, 并且需要三个配置文件: c_cpp_properties.json launch.json tasks.json 悲伤的是...把网上各种帖子各个 ...

  8. Windows下Visual Studio Code配置Shell开发环境 (超详细图文)| 瞬间提高200%生产力

    人生苦短,务必性感. 要说目前最火的编辑器,我说是Visual Studio Code(VS Code)应该没人反对吧!!!作为一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高 ...

  9. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

  10. Visual Studio Code 配置 gcc

    作者:谭九鼎 链接:https://www.zhihu.com/question/30315894/answer/154979413 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

最新文章

  1. 技术图文:如何利用 Python 做一个简单的定时器类?
  2. 一文带你读懂Python的5大特点与8大应用方向!
  3. linux 关闭打开的文件描述符,关闭它们后重新打开stdout和stdin文件描述符
  4. 服务网格架构激活了容器网络管理—来自于服务网格创建者们的见解与展望
  5. hdu 1255(线段树求重叠面积)
  6. Dart 基礎 - 4
  7. 6.22软件工程总结
  8. 身体对腐朽灵魂的一次震撼:向京的雕塑与观众的行为
  9. Postgresql多线程hashjoin(inner join)
  10. oracle清除bin,Oracle recyclebin详解(闪回删除的表)
  11. 实验4-2-2 求e的近似值 (15 分)
  12. CRM用户体验对比(二):导入联系人—— 百会、WorkXP
  13. elementUI + vue实现 Excel筛选功能
  14. C++ 智能指针和工厂模式
  15. 基于OP放大器的有源模拟滤波器设计--一阶有源滤波器
  16. FaWave(发微)多微博版内测
  17. Ackerman函数
  18. Java Shadowing 影子变量 影子声明
  19. python 将目录下的文件和子目录复制到指定文件夹
  20. stanford-corenlp 中各词性含义标注

热门文章

  1. android 夏令时,android – jodatime如何知道夏令时是否开启
  2. choco 代理强制失效方法
  3. 正则表达式的贪婪匹配和非贪婪匹配
  4. 钢琴作品常用体裁名称及曲式
  5. exec函数用法总结
  6. MQ,如何做到削峰填谷
  7. 企业终端无法获取到 IP地址
  8. mac --- wifi无法获取ip地址
  9. 01_Snaker简介
  10. camera 添加外挂pmic进行供电的涉及