ソースファイルで構造を定義する必要があり、他のソースもそれを見ることができるはずです。1 つのソース ファイルで struct を宣言し、ヘッダーで extern 宣言を行って他のソースにインクルードしますが、コンパイラに次のエラーが表示されます。
lcd.c(24): error: #147: declaration is incompatible with "struct graph_obj arrow_right" (declared at line 45 of "lcd.h")
.C ファイル
struct graph_obj
{
const u16 *id;
int x,y;
u16 w, h;
};
u32 lcdid;
struct graph_obj btn0;
struct graph_obj btn1;
struct graph_obj btn2;
struct graph_obj btn3;
そして .h ファイル
extern struct graph_obj
{
const u16 *id;
int x,y;
u16 w, h;
};
extern u32 lcdid;
extern struct graph_obj btn0;
extern struct graph_obj btn1;
extern struct graph_obj btn2;
extern struct graph_obj btn3;
それで、私は何をすべきですか?