Я получаю "неизвестное имя типа" 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
над любой библиотекой, которая в ней нуждается, и вы больше не должны получать ошибку.