Program Tip

알 수없는 유형 이름 'uint8_t', MinGW

programtip 2020. 12. 3. 19:07
반응형

알 수없는 유형 이름 'uint8_t', MinGW


나는 "unknown type name 'uint8_t'"를 얻고 다른 사람들은 MinGW에서 C를 사용합니다. 이것을 해결하는 방법에 대한 아이디어가 있습니까?


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.hDisplay.h 컴파일 한 후 그 정보가 컴파일되어 있기 때문에 그것을 액세스 할 수 없습니다.

따라서 stdint.h필요한 라이브러리 위로 이동 하면 더 이상 오류가 발생하지 않습니다.

참고 URL : https://stackoverflow.com/questions/8953274/unknown-type-name-uint8-t-mingw

반응형