因为原博客太长将部分内容分开

此问题可能会随着vscode的更新而得到解决以至于本文内容变得无意义

目前最新版本似乎已经不再需要了

vscode找不到头文件的问题是由于windows下vscode默认的编译器是微软的MSVC(vs使用的编译器)的头文件路径

如果你没有安装vs肯定会因为找不到头文件而报错

如果你安装了vs却同样报错

  1.你错误配置了vscode的配置文件

  2.你使用了在MSVC头文件库中并不存在的头文件比如bits/stdc++.h

修复这个问题有两个方法:

  1.修改配置文件

  2.将需要的头文件拷贝到vs的头文件路径中去

如果电脑没有安装vs而安装的mingw系列,只能通过修改配置文件来解决

修改配置文件的方法:

在.vscode文件夹下新建一个 c_cpp_properties.json 文件

将下面这段代码粘贴进去

其中,要将includePath选项更改为你mingw编译器的安装路径下的lib/gcc/x86_64-w64-mingw32/8.1.0/include文件夹路径

{
"configurations": [
{
"name": "Win32",
"includePath": [
"C:/Program Files/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "gcc-x64"
}
],
"version":
}

对于非标准库中的头文件,也可以通过列表追加的方式将路径追加到includePath中去

比如

"includePath": [
"C:/Program Files/mingw64/lib/gcc/x86_64-w64-mingw32/8.1.0/include",
          "path1",
          "path2",
          ...
],

修改头文件的方法:

首先你必须安装了微软vs系列中的一个比如visual stdio 2017 Community

然后找到安装路径下的头文件路径

默认的是:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\include

然后将你需要的头文件粘贴进这个文件夹

这样能让MSVC和mingw拥有同样的头文件库

但你需要明白编译使用的是那个库是由编译器决定的,修改MSVC的库只是让vscode在默认情况下(没有c_cpp__properties.json文件)实时报错不显示错误和能够补全代码

实际编译是需要根据每个编译器的特性来进行操作的

vscode非常灵活,不像eclipse那样呆板臃肿,没有离不开的IDE,只要明白一个操作的大致原理,就可以凭我们想象去发挥了

windows下vscode修复c++找不到头文件的更多相关文章

  1. 【转载】Windows下VSCode编译调试c/c++

    懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Windows下VSCode便携式c/c++环境 http://blog.csdn.net/c_duoduo/article/de ...

  2. 【VSCode】Windows下VSCode编译调试c/c++【更新】

    便携版已更新,点此获取便携版 用于cpptools插件的配置文件更新 更新的launch.json // Available variables which can be used inside of ...

  3. 【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】

    --------– 2018.03.27 更新--------- 便携版已更新,点此获取便携版 已知BUG:中文目录无法正常调试 用于cpptools 0.15.0插件的配置文件更新 新的launch ...

  4. JAVA 基础开发环境 vscode 搭建 Windows下VSCode编译运行简单java

    JAVA 基础开发环境 vscode 搭建 来源 https://www.cnblogs.com/freewsf/p/7744728.html 对于使用 Visual Studio Code 的 Ja ...

  5. 【转载】【VSCode】Windows下VSCode编译调试c/c++

    转载自:http://blog.csdn.net/c_duoduo/article/details/51615381 懒得自己配置或自己配置出现不明问题的朋友可以点这里: [VSCode]Window ...

  6. #include <sys/socket.h>找不到头文件

    ubuntu下socket编程涉及到头文件sys/socket.h 和sys/types.h.我是用的codeblocks编辑器,当我想查看socket,h头文件时编辑器提示找不到头文件. 我就想可能 ...

  7. 当Android工程中提示你找不到头文件,但你已经设置头文件路径了

    虽然在Android.mk文件中,配置了LOCAL_C_INCLUDES路径,但是工程中的红色叉号一直提示找不到头文件 这时,你在工程树目录中展开Includes项,捣鼓捣鼓,重新build下,或许就 ...

  8. pod JONSKit.h MBProgress.h 找不到头文件,怎么办?

    这时你看项目pod部分,多了JSONKit库.好了,第三方库就这么神奇的加进来. 头文件路径 那试试看使用JONSKit.h,在ViewController.m里引用下.找不到头文件,怎么办?还没设置 ...

  9. CodeBlocks "no such file or directory" 错误解决方案(创建类找不到头文件)

    在CodeBlocks下,有时候需要自己定义类,当然就要添加相应的头文件,但添加进去的头文件明明包含在项目中了, 但编译时还是会报错:no such file or directory;这是为什么呢? ...

随机推荐

  1. In Compiler.php line 36: Please provide a valid cache path.

    /********************************************************************************* * In Compiler.php ...

  2. [LeetCode&Python] Problem 830. Positions of Large Groups

    In a string S of lowercase letters, these letters form consecutive groups of the same character. For ...

  3. Docker第一个应用:Hello World

    Docker应用:Hello World 前言: 最近学习了Docker相关技术点,国内关于Docker的资料大多是基于Linux系统的,但是我对Linux又不熟(实际上没用过,掩面哭笑.Jpg). ...

  4. EasyUI datagrid 数据加载

    网上找了好多人的方法发现都有问题发一个可用方便的 主要分三种情况 加载1,loaddata 加载2,datagrid 加载3, url 加载 第一部分,datagrid加载 第二部分,点击 datag ...

  5. MyBatis-Plus使用教程

    单机版 安装环境 上传压缩包到/usr/local/software/下 解压安装包,进入解压目录的bin目录下,启动命令: ./solr start -force 默认端口是8983,请求虚拟机, ...

  6. MySql中的一些小坑

    1. mysql启动时,若使用mysqld_safe的方式启动服务,需要使用mysqladmin shutdown的方式来停止服务. 若使用mysqld shutdown的方式停止服务,有可能会出现如 ...

  7. UVA10341 Solve It

    题意 PDF 分析 在\(0\le x\le 1\)时,\(f(x)=pe^{-x}+q\sin x+r\cos x+s\tan x+tx^2+u\)是减函数,所以当\(f(0)\ge 0 \wedg ...

  8. 微信公众号文章转语音tts

    微信公众号里面的文章在走路或者开车时候不方便浏览,希望能增加一个文字转语音功能,那么问题来了,到底哪家文字转语音技术强呢? 经过验证,目前发现最好用的还是balabolka ,国内的什么“录音啦”,试 ...

  9. 05基于python玩转人工智能最火框架之TensorFlow基础知识

    从helloworld开始 mkdir mooc # 新建一个mooc文件夹 cd mooc mkdir 1.helloworld # 新建一个helloworld文件夹 cd 1.helloworl ...

  10. windows下能搭建php-fpm吗 phpstudy

    这个Windows和Linux系统是不一样的,因为一般nginx搭配php需要php-fpm中间件,但是Windows下需要第三方编译. 下载的包里有php-cgi.exe 但不是php-fpm如果想 ...