programing

MinGW의 "Unknown type name 'uint8_t' 메시지

prostudy 2022. 8. 1. 21:12
반응형

MinGW의 "Unknown type name 'uint8_t' 메시지

MinGW에서 C를 사용하면 "Unknown type name 'uint8_t'"를 얻을 수 있습니다.

어떻게 하면 해결할 수 있을까요?

포함시켜 보다stdint.h또는inttypes.h.

를 사용하려면uint8_t에일리어스를 입력합니다.stdint.h표준 헤더

명확히 하자면:고객님의 주문은#include중요한 것은 디자인 패턴의 일부가 아니라는 것입니다(이유는 알 수 없습니다).그러면 디자인을 재검토할 필요가 있습니다.대부분의 경우, 이는 단지 다음 명령어를 추가할 필요가 있음을 의미합니다.#include문제를 일으키는 헤더 파일로 이동합니다.

현시점에서는 이 예제의 장점을 논하거나 옹호하는 것에는 별로 관심이 없지만, 편집 과정의 뉘앙스나 에러가 발생하는 이유에 대해 설명하고 있기 때문에 남겨두겠습니다.


할 필요가 있다#includestdint.h 눈앞에#include필요한 다른 라이브러리 인터페이스를 지정합니다.

예:

LCD 라이브러리는 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더 이상 오류가 발생하지 않을 것입니다.

"PROJECT_NAME/osdep"을 포함해야 했습니다.h"에는 OS 고유의 설정이 포함됩니다.

당신이 관심있는 타입을 사용하여 다른 파일들을 살펴보고, 그 파일들이 어디에 정의되어 있는지, 어떻게 정의되어 있는지(포함)를 확인합니다.

언급URL : https://stackoverflow.com/questions/8953274/message-unknown-type-name-uint8-t-in-mingw

반응형