MinGW의 "Unknown type name 'uint8_t' 메시지
MinGW에서 C를 사용하면 "Unknown type name 'uint8_t'"를 얻을 수 있습니다.
어떻게 하면 해결할 수 있을까요?
포함시켜 보다stdint.h
또는inttypes.h
.
를 사용하려면uint8_t
에일리어스를 입력합니다.stdint.h
표준 헤더
명확히 하자면:고객님의 주문은#include
중요한 것은 디자인 패턴의 일부가 아니라는 것입니다(이유는 알 수 없습니다).그러면 디자인을 재검토할 필요가 있습니다.대부분의 경우, 이는 단지 다음 명령어를 추가할 필요가 있음을 의미합니다.#include
문제를 일으키는 헤더 파일로 이동합니다.
현시점에서는 이 예제의 장점을 논하거나 옹호하는 것에는 별로 관심이 없지만, 편집 과정의 뉘앙스나 에러가 발생하는 이유에 대해 설명하고 있기 때문에 남겨두겠습니다.
할 필요가 있다#include
그stdint.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
'programing' 카테고리의 다른 글
Vuex 저장소 상태가 정의되지 않았습니다. (0) | 2022.08.01 |
---|---|
파일을 ugliate하여 다른 장소에 저장하는 방법(vue.http) (0) | 2022.08.01 |
vue 구성 요소에서 vuex에서 필터링된 데이터가 반응하지 않음 (0) | 2022.08.01 |
VueJ를 사용한 체크박스 필터링s (0) | 2022.08.01 |
MySQL JDBC 드라이버 5.1.33 - 타임존 문제 (0) | 2022.08.01 |