현재 global.h라는 헤더파일에 아래와 같이 구조체 정의 및 선언을 하였고
main.c와 test.c에서 global.h를 인클루드 하고 있습니다.
/*******************************************************************/
#ifndef _GLOBAL_H
#define _GLOBAL_H
typedef struct{
unsigned char test_a; //
U8 test_b; // 이부분에서 에러가 발생함
}test_struct;
test_struct test;
#endif
/*******************************************************************/
일단 헤더파일의 중복 컴파일을 막기위해 ifndef으로 감싸 주었고요
구조체를 헤더파일에 정의 및 선언 하였는데
아래와 같은 에러메시지가 출력 됩니다.
U8이라는 예약어를 사용한 헤더파일을 복수의 .C에서 인클루드 하면 위와 같은 에러메시지가...
- 하나의 .C에서만 인클루드하면 에러가 발생하지 않습니다.
또는 복수의 .C에서 인클루드 하되 U8이라는 예약어를 사용하지 않으면 에러가 발생하지 않습니다.
U8은 라이브러리 내에 아래와 같이 정의 되어 있습니다.
typedef unsigned char U8;
U8이라는 예약어를 사용하지 않고 unsigned char로 사용하면 되겠지만
U8외에도 라이브러리 내에서 정의하는 다른 핸들러를 사용해야 하기 때문에 본 문제를 꼭 뛰어 넘어야 하네요 ㅜㅜ
고수님들 도와주세요..