Я получаю "неизвестное имя типа" uint8_t ", а другим - с помощью C в MinGW. Любые идеи, как это решить?
Неизвестное имя типа 'uint8_t', MinGW
Ответ 1
Попробуйте включить stdint.h или inttypes.h.
Ответ 2
Чтобы использовать псевдоним типа uint8_t, вы должны включить стандартный заголовок stdint.h.
Ответ 3
Вам нужно #include stdint.h ПЕРЕД вам #include любые другие интерфейсы библиотеки, которые в этом нуждаются.
Пример:
В моей ЖК-библиотеке используются типы uint8_t. Я написал свою библиотеку с интерфейсом (Display.h) и реализацией (Display.c)
В display.c у меня есть следующие варианты.
#include <stdint.h>
#include <string.h>
#include <avr/io.h>
#include <Display.h>
#include <GlobalTime.h>
И это работает.
Однако, если я повторно упорядочу их так:
#include <string.h>
#include <avr/io.h>
#include <Display.h>
#include <GlobalTime.h>
#include <stdint.h>
Я получаю сообщение об ошибке. Это связано с тем, что Display.h нуждается в вещах от stdint.h, но не может получить к нему доступ, потому что эта информация скомпилирована ПОСЛЕ отображения Display.h.
Итак, переместите stdint.h над любой библиотекой, которая в ней нуждается, и вы больше не должны получать ошибку.