VS代码:包含在浏览中找不到的文件。路径。?

时间:2017-08-11 17:11:15

标签: c visual-studio-code

在VS代码中我收到错误“在浏览路径中找不到包含文件”。 我的头文件#include <stdio.h>下出现错误波形 如何使我的代码可以访问此库。

我拥有的是一个文件夹和一个main.c文件

这一切都很新,其他答案似乎超出了我的深度,因为我不确定他们正在访问哪些文件。 提前谢谢。

3 个答案:

答案 0 :(得分:2)

与提出here的问题非常相似,谢天谢地,这是一个非常类似的解决方案。

Ctrl-Shift-P会打开&#34;命令栏&#34;,开始尝试C/Cpp: Edit Configurations,直到最高结果然后按Enter键,这将创建一个c_cpp_properties.json将文件放在当前项目目录的.vscode文件夹中(使此配置对此项目是唯一的,因此您需要为其他项目重复此操作)。此json文件包含适用于Mac,Linux和Win32的部分,如果您知道其他平台的路径,则编辑与您或所有相关的部分。每个块都有nameincludePathdefinesintelliSenseModebrowse属性。 browse属性有一个名为path的子数组(这是我们正在寻找的,include file not found in *browse.path*),在这里添加包含目录的路径,每个包含一个字符串,以及记得使用正斜杠,即使Windows将它们作为反斜杠使用。

当向browse.path添加正确的路径时,有问题的错误消失了,我还将其添加到includePath部分,因为根据悬停工具提示includePath被智能感知引擎使用而{{1} 1}}由标记解析器使用。如果两者都设置正确,可能会受到伤害。

答案 1 :(得分:1)

您需要做的就是检查 c_cpp_properties.json 文件中是否存在 browse.path。如果不包括这部分。它应该可以解决问题。

   {
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "gcc-x64",
            "browse": {
                "path": ["${workspaceFolder}"],
                "limitSymbolsToIncludedHeaders": true,
                "databaseFilename": ""
              }
        }
    ],
    "version": 4 }

答案 2 :(得分:0)

使用browser.path附加.vscode \ c_cpp_properties.json文件的示例,该示例解决了我有关Arduino依赖项的问题

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\AzureIoTProtocol_MQTT\\src\\**",
                "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\AzureIoTUtility\\src\\**",
                "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\AzureIoTHub\\src\\**",
                "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\WiFiManager\\**",
                "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\ArduinoJson\\**",
                "C:\\Users\\localuser\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\**",
                "C:\\Users\\localuser\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.4.2\\**",""
            ],
            "forcedInclude": [],
            "browse": {
                "path":[
                    "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\AzureIoTProtocol_MQTT\\src\\**",
                    "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\AzureIoTUtility\\src\\**",
                    "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\AzureIoTHub\\src\\**",
                    "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\WiFiManager\\**",
                    "C:\\Users\\localuser\\Documents\\Arduino\\libraries\\ArduinoJson\\**",
                    "C:\\Users\\localuser\\AppData\\Local\\Arduino15\\packages\\esp8266\\tools\\**",
                    "C:\\Users\\localuser\\AppData\\Local\\Arduino15\\packages\\esp8266\\hardware\\esp8266\\2.4.2\\**"]
            },
            "intelliSenseMode": "msvc-x64",
            "compilerPath": "C:\\WinAVR-20100110\\bin\\avr-gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}