VSCODE не видит заголовочные файлы C

Рейтинг: 1Ответов: 1Опубликовано: 18.08.2023

Vscode ругается на любые подключаемые библиотеки. Проблема возникает со всеми новыми файлами расширения .c. Есть проект, в котором проблемы с подключением библиотек нет. Перечитал массу информации на данном ресурсе, включая статью по настройке compilerPath & includePath, но не помогло. Код был тестовый, просто что-бы проверить, что все компилится и работает.

Я пытался сравнивать .json файлы рабочего проекта и нерабочего, но зависимостей не нашел. Тем более, что в рабочем проекте есть файлы launc.json & tasks.json, но не c_cpp_properties.json.

Ручная сборка через терминал проходит без каких-либо проблем. Если собирать через vscode, то несмотря на ошибки все равно проект собирается и запускается. Проблема только в том, что vscode постоянно ругается на заголовочный файл.

Тестовый код:

#include <stdio.h>

int main()
{
    printf("Hello world!");
    return 0;
}

Содержимое файла c_cpp_properties.json:

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "/lib/gcc/x86_64-redhat-linux/13/include"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/gcc",
            "cStandard": "c17",
            "cppStandard": "c++98",
            "intelliSenseMode": "linux-gcc-x64",
            "configurationProvider": "ms-vscode.makefile-tools",
            "compilerArgs": []
        }
    ],
    "version": 4
}

Ошибки:

#include errors detected based on information provided by the configurationProvider setting. Squiggles are disabled for this translation unit (/run/media/clipslemon/6E4035D04035A02F/Programming/C/sdl_app/test.c).

cannot open source file "stdio.h"

Ответы

▲ 0Принят

Проблема в расширении C/C++ IntelliSense от Microsoft. Включение и выключение как и его переустановка не помогали, но после установки Clangd проблема ушла. Intellisense не может работать параллельно с Clangd, но теперь при перезагрузке расширения Intellisense все работает должным образом.