1

ソースファイルで構造を定義する必要があり、他のソースもそれを見ることができるはずです。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;

それで、私は何をすべきですか?

4

2 に答える 2