我需要在源文件中定義一個Structure並且其他源應該能夠看到它。 我聲明結構在一個源文件,並在標頭然後extern聲明在其他來源包括,但以下錯誤編譯器有:在Header中聲明Struct並在多個源中使用
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;
那麼,我該怎麼辦?
你可以發佈代碼嗎?從你寫的東西來判斷你是在做一些事情。 – wirm
你應該做的是在'lcd.c'中顯示錯誤的實際代碼/行,並在頭文件中顯示相應的聲明。 – crashmstr
剛剛添加的代碼,tnx – Beh