Вопросы. >Так-же есть файлы (.h), которые доступны через настройки тоолчайна Includes (-I).
Какой такой тоолчайн?
Я использую много разных инструментов (ARM7, ARM9, Cortex-M, Cortex-R, программы для обычного ПК, НИИЭТ, TI, NXP, Atmel, STM) и чтобы не сойти с ума настроился на классический "ванильный" Eclipse CDT без всяких плагинов типа "GNU MCU Eclipse Plugin" (не знаю, как он сейчас называется). Настроился на обычный "Cross GCC", в одном проекте настроил для каждого проекта получение системных заголовочных файлов и символов от кросс-компилятора gcc, в другом проекте вручную добавил символы и настроил пути для ARMCC, в третьем использую gcc из ПК. Использую самописную make-сборку или cmake по CTRL+B (в зависимости от проекта).
Расширения "ванильного" eclipse типа "Code Composer Studio", "MounRiver Studio", "VectorIDE" от НПФ Вектор, от STM, от NXP, и прочие сильно усложняют понимание того, как eclipse парсит исходники, где он их ищет, как он получает информацию о тулчейне (символы, пути). Поэтому универсального рецепта по решению озвученной проблемы нет, надо рассматривать конкретные расширения.
Заголовочные файлы добавлены к проекту eclipse через "C/C++ General"->"Path and Symbols"->"Includes"? Я обычно использую переменную ${ProjDirPath} для более лёгкой переносимости. После добавления туда заработает автодополнение CTRL+Space в написании имени #include "file<CTRL+SPACE>
В .cproject это примерно так выглядит (для "ванильного" Eclipse CDT):
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="gnu.cpp.compiler.option.include.paths.209218361" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value=""${ProjDirPath}/include""/>
</option>