Visual Studio Code为我提供了C的“检测到#include错误”

时间:2018-08-16 18:59:51

标签: c visual-studio path

我已经开始学习c,我尝试将其与VS代码一起使用,但是#include < stdio.h>突出显示为绿色,并显示以下错误消息:

#include errors detected. Please update your includePath. IntelliSense features for this translation unit
(C:\Users\Jerlam\Desktop\C\training\dweight.c) will be provided by the
Tag Parser.

could not open source file "stdio.h" (no directories in search list)

我已经看到了一些有关此问题的主题,但是没有一个主题可以帮助我解决该问题。
这是我的c_cpp_properties.json文件,我必须在其中添加stdio的路径。实际上,有关它的文档绝对不适合初学者。

    {
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/Program Files (x86)/Windows Kits/10/Include/10.0.10240.0/ucrt"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
        ],
            "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4
}

我已手动添加以下路径:

  

“ C:/ Program Files(x86)/ Windows Kits / 10 / Include / 10.0.10240.0 / ucrt”

因为它包含stdio.h标头。

我该怎么办?谢谢。

4 个答案:

答案 0 :(得分:2)

对于可能来到这里的任何其他人,vs code 会保留缓存。因此,在对 c_cpp_properties.json 进行更改后,请关闭编辑器并更改工作区文件夹的名称或删除缓存(Appdata/Code),这对我有用,浪费了我整个晚上 :/

答案 1 :(得分:2)

为我工作,在 Windows 10 上运行 VSCode。

  1. 转到您的项目文件夹
  2. 打开 .vscode 子文件夹
  3. 转到 c_cpp_properties.json
  4. 用以下代码替换该文件中的所有内容:
{
"configurations": [
    {
        "name": "MinGW",

        "includePath": [
            "${workspaceFolder}"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "intelliSenseMode": "clang-x64",
        "browse": {
            "path": [
                "${workspaceFolder}"
            ],
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": ""
        },
        "cStandard": "c11",
        "cppStandard": "c++17"
    }
],
"version": 4
}
  1. 保存并重新启动 IDE。

答案 2 :(得分:1)

多亏了this video,我找到了解决方案。

首先,我启动了 MinGW Installation Manager ,并通过基本设置安装了所有软件包。

接下来,我将gcc编译器的路径添加到系统的环境变量: C:\ MinGW \ bin ,其中是 gcc.exe

最后,我打开了c_cpp_properties.json文件,并为要包含的文件夹添加了不同的路径。所以现在我的 c_cpp_properties.json 文件看起来像这样:

{
"configurations": [
    {
        "name": "Win32",
        "includePath": [
            "${workspaceFolder}/**",
            "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.10240.0\\ucrt",
            "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\include",
            "C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0",
            "C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0\\include\\c++",
            "C:\\MinGW\\lib\\gcc\\mingw32\\6.3.0\\include"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4
}

答案 3 :(得分:0)

如果您的 PC 上有 Visual Studio 和代码,则可能会发生这种情况。只需尝试从 PC 上的应用程序列表、Visual Studio 和 Visual Studio 代码中卸载所有 C 和 C++ 扩展,然后重新启动并再次安装 vs 代码。我在它后面浪费了我一整天的时间,但没有 JSON 文件对我有用。你只需要将 MinGW-64/bin 路径放在 JSON 文件中的 vs 代码中,只要你在你的电脑上安装了 MinGW-64。 如果你的电脑上没有 MinGW,我会放一个视频链接

https://www.youtube.com/watch?v=0HD0pqVtsmw