• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Решено Несуществующие ошибки Eclipse

Garmin

Member
Замучила меня сумасшедшая подсветка ошибок в Eclipse.
Подсвечиваются несуществующие ошибки.
Проверка текста не видит enum определения в [HASHTAG]#include[/HASHTAG] файлах: "Symbol could not be resolved".
Перерыл гугл по этой ошибке - в основном указания на обновление индексов, у меня не помогает.
В путях папка с файлами подключена. Project->Properties->C/C++ General->Path and symbols->GNU C = "C:\Espressif\ESP8266_SDK\include\".
Вот пример:



В начале файла есть строчка [inline][HASHTAG]#include[/HASHTAG] "driver/user_interface.h"[/inline], где определен enum:
Код:
enum
{
    EVENT_STAMODE_CONNECTED = 0,
    EVENT_STAMODE_DISCONNECTED,
    EVENT_STAMODE_AUTHMODE_CHANGE,
    EVENT_STAMODE_GOT_IP,
    EVENT_STAMODE_DHCP_TIMEOUT,
    EVENT_SOFTAPMODE_STACONNECTED,
    EVENT_SOFTAPMODE_STADISCONNECTED,
    EVENT_SOFTAPMODE_PROBEREQRECVED,
    EVENT_MAX
};
По F3 определение вызывается, компиляция проходит без ошибок.
Глюк в самом Eclipse. Могу конечно отключить проверку этой ошибки, но есть упорное желание настроить правильно.
Работаю под Windows, UDK.
Кто-нибудь знает, где у Эклипса собака порылась?
 

Garmin

Member
Немного танцев с бубном.
Перенёс проект на рабочий комп - подсветка ошибок та же.
Выполнил команду "Project->C/C++ Index->Search for unresolved includes"
На вкладке Search мне высветилось:
user_interface.h: Unresolved inclusion: user_config.h
Файл user_interface.h находится в папке app\include\driver\
Оттуда не видно файл user_config.h, который находится в папке app\include\ (почему?)
Поскольку мне не нужно было ничего из user_config.h, я закомментировал эту строку в файле user_interface.h
После пересборки индексов командой "Project->C/C++ Index->Re-resolve unresolved includes" ошибки пропали.

Интересно, почему компилятор мне ничего не говорил про это?
 

nikolz

Well-known member
Немного танцев с бубном.
Перенёс проект на рабочий комп - подсветка ошибок та же.
Выполнил команду "Project->C/C++ Index->Search for unresolved includes"
На вкладке Search мне высветилось:
user_interface.h: Unresolved inclusion: user_config.h
Файл user_interface.h находится в папке app\include\driver\
Оттуда не видно файл user_config.h, который находится в папке app\include\ (почему?)
Поскольку мне не нужно было ничего из user_config.h, я закомментировал эту строку в файле user_interface.h
После пересборки индексов командой "Project->C/C++ Index->Re-resolve unresolved includes" ошибки пропали.

Интересно, почему компилятор мне ничего не говорил про это?
Я тоже такие приколы получал пока не отключил все примеры кроме своего проекта.
 

af1283

New member
Такая же фигня. На
пересборки индексов командой "Project->C/C++ Index->Re-resolve unresolved includes"
не реагирует никак.
 

Ondreyk

New member
Project->Property->C++ Build->Settings->(Вкладка) Error Parsers Советую попробовать (поубирать лишние галочки) - они как раз отвечают за парсинг ошибок вне компилятора. Случайно обнаружил при изучении настроек Eclipse Luna.
 
Сверху Снизу