#include ошибки, обнаруженные в vscode

Я использую код Visual Studio в своем проекте на C ++. Я установил Microsoft C / C ++ Extension for VS Code. Получила следующую ошибку:

Обнаружены #include ошибки. Обновите свой includePath. Функции IntelliSense для этой единицы перевода (/path/to/project/file.cpp) будут предоставлены анализатором тегов.


person banan3'14    schedule 09.08.2017    source источник
comment
как правило, вопросы с самоответом - это нормально, но тогда вы должны написать четкий вопрос и ответ, который является чем-то большим, чем просто ссылкой на внешний ресурс.   -  person jps    schedule 09.08.2017
comment
В Mac OS установка инструментов командной строки xcode с использованием xcode-select --install, а затем перезапуск vscode решила проблему для меня.   -  person zdm    schedule 12.12.2020
comment
Для пользователей Linux: убедитесь, что у вас установлен g++.   -  person Farbod Ahmadian    schedule 05.05.2021


Ответы (15)


Пробовал эти и многие другие решения более 1 часа. Закончилось закрытием VS Code и его повторным открытием. Все просто.

person Ivy Growing    schedule 13.10.2018

Ответ здесь: Как использовать расширение C / Cpp и добавить includepath в конфигурации .

Щелкните лампочку и отредактируйте открывшийся файл JSON. Выберите правильный блок, соответствующий вашей платформе (есть Mac, Linux, Win32 - ms-vscode.cpptools версия: 3). Обновите пути в includePath (имеет значение, если вы компилируете с помощью VS Code) или browse.paths (имеет значение, если вы используете VS Code) или и то, и другое.

Спасибо @Francesco Borzì, я приложу его ответ сюда:

Вам нужно Left ???? щелкнуть лампочку рядом с изогнутой строкой кода.

Если файл #include или одну из его зависимостей не могут быть найдены, вы также можете щелкнуть красные волнистые линии под операторами include, чтобы просмотреть предложения по обновлению конфигурации.

 введите описание изображения здесь

person banan3'14    schedule 09.08.2017
comment
Пожалуйста, добавьте, что ваш ответ содержит часть ответа @ Francesco, например, он был первым, но вы просто добавляете его к себе для наглядности. В противном случае Франческо явно копирует ваш ответ. - person Hatted Rooster; 09.01.2019
comment
Правильно, забыл признать его - person banan3'14; 09.01.2019
comment
Относительно includePath и browse.path: ваше объяснение не совсем верное. Оба используются при просмотре, ни один не используется во время компиляции. См. Часто задаваемые вопросы о VSCode и еще один мой ответ. - person Scott McPeak; 01.09.2019
comment
Что мне делать, если ошибка включения связана с собственной библиотекой? VS Code жалуется на #include <mono/metadata/assembly.h> - person Aaron Franke; 07.01.2020
comment
«Добавить в includePath» нельзя использовать в моем редакторе, который имеет расширение C / C ++. Могу я понять, почему? - person Ethan Groat; 17.09.2020
comment
@EthanGroat, возможно, у вас отключены закорючки при ошибках? Не могли бы вы проверить параметры C_Cpp.errorSquiggles и C_Cpp.default.enableConfigurationSquiggles в настройках? - person banan3'14; 22.10.2020

Я оказался здесь после некоторой борьбы, но на самом деле мне не хватало всего:

Если не удается найти файл #include или одну из его зависимостей, вы также можете щелкнуть красные волнистые линии под операторами include, чтобы просмотреть предложения по обновлению конфигурации.

введите описание изображения здесь

источник: https://code.visualstudio.com/docs/languages/cpp#_intellisense

person Francesco Borzi    schedule 08.01.2019
comment
Что делать, если предложений нет? - person Aaron Franke; 07.01.2020

  • Щелкните левой кнопкой мыши по лампочке в строке ошибки
  • Нажмите Edit Include path
  • Тогда это всплывающее окно

введите описание изображения здесь

  • Просто установите Compiler path
person akash    schedule 31.05.2020

Сообщение об ошибке «Обновите includePath» не обязательно означает, что действительно существует проблема с includePath. Проблема может заключаться в том, что VSCode использует неправильный компилятор или неправильный режим IntelliSense. В этом ответе я написал инструкции по устранению неполадок и согласованию конфигурации VSCode C ++ с вашим компилятором и проектом.

person Scott McPeak    schedule 31.08.2019
comment
Это исправило это для меня, спасибо - person sophiemachin; 15.01.2021

Я пробовал программу hello world, и эта строка:

#include <stdio.h>

был подчеркнут зеленым. Я пытался:

  1. Удаление строки
  2. Переписываем строку
  3. Щелкнув желтую лампочку и выбрав обновление

исправлено предупреждение об ошибке. я не знаю, устранила ли это настоящую проблему. Но тогда я компилирую через виртуальную машину Linux в Windows 10

person Zach Smith    schedule 20.09.2017

После закрытия и повторного открытия VS проблема должна исчезнуть.

person Patrick    schedule 09.08.2019

Для меня, используя Ubuntu, мне просто нужно было установить gcc, чтобы решить эту проблему.

sudo apt install gcc

Затем установите путь к компилятору gcc. Перейдите в ваш файл c_cpp_properties.json, установите:

"compilerPath": "/usr/bin/gcc"
person Emmanuel Murairi    schedule 08.03.2021

1. Установите Mingw-w64

2. Затем отредактируйте переменные среды для своей учетной записи «C: \ mingw-w64 \ x86_64-8.1.0-win32-seh-rt_v6-rev0 \ mingw64 \ bin».

3. перезагрузить

  • Для MAC

    1. Откройте поиск, команду + shift + P и запустите этот код «c / c ++ edit configurations (ui)».

    2. откройте файл c_cpp_properties.json и обновите includePath с «$ {workspaceFolder} / **» до «$ {workspaceFolder} / inc».

person remonsam    schedule 18.03.2020

В моем случае мне не нужно было закрывать весь VS-код, закрытие открытого файла (а иногда даже его сохранение) решило проблему.

person Mohammed Noureldin    schedule 21.10.2020

Перейдите к своему c_cpp_properties.json файлу, выполнив поиск в настройках. Там вы можете увидеть следующий код

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "gnu17",
            "cppStandard": "c++17",
            "intelliSenseMode": "linux-gcc-x64"
        }
    ],
    "version": 4
}

Измените путь компилятора, как показано ниже

"compilerPath": "/usr/bin/g++",
person Sihat Afnan    schedule 07.03.2021
comment
Если у вас не установлен g ++, установите его с помощью sudo apt-get install g++ - person Sihat Afnan; 07.03.2021

Если вы работаете с cmake-tools и в сообщениях об ошибках говорится, что что-то не так с configurationProvider, то следующие действия решили проблему для меня:

  1. Откройте c_cpp_properties.json. (клавиша windows на windows или клавиша cmd на mac + shift + p, введите c / c ++ edit configurations и выберите json.
  2. Введите ms-vscode.cpptools в качестве значения для configurationProvider вместо ms-vscode.cmake-tools или что у вас есть.

Как это должно выглядеть после замены configurationProvider:

введите описание изображения здесь

Еще одна важная конфигурация - это путь включения. Предполагается, что у вас правильная конфигурация. Может быть, как следующее

введите описание изображения здесь

person Alessandro Giusa    schedule 26.06.2021

Альтернативным ответом было бы открытие VS Code в удаленном WSL, если вы собираетесь компилировать файлы с помощью g ++. Просто закройте свой VS Code, откройте WSL и введите code .. После этого File Explorer покажет, что VS Code теперь работает в контексте WSL со строкой заголовка [WSL: Ubuntu]. Но убедитесь, что вы установили GNU compiler tools and the GDB debugger на WSL.

источник: https://code.visualstudio.com/docs/cpp/config-wsl < / а>

person Thor1n    schedule 04.07.2021

Для Windows:

  1. Добавьте этот каталог в переменную среды (Путь):

C: \ mingw-w64 \ x86_64-8.1.0-win32-seh-rt_v6-rev0 \ mingw64 \ bin \

  1. Для включения обнаруженных ошибок укажите путь к вашей включаемой папке в

"includePath": ["C: /mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/include/"]

, поскольку это путь, по которому компилятор извлекает библиотеку для включения в вашу программу.

person Hridaya Nagaria    schedule 04.04.2020

Если у кого-то есть эта проблема, возможно, вам просто нужно установить build-essential.

apt install build-essential
person Picki    schedule 21.05.2020