title: declare Struct in Header and use in multiple Sources
body: <p>I need to define a Structure in on source file and also others sources should be able to see that.
  I declare struct in ONE source file and then extern declaration in header to include in other sources, but the compiler following error is there:</p>
  
  <pre><code>lcd.c(24): error:  #147: declaration is incompatible with "struct graph_obj arrow_right" (declared at line 45 of "lcd.h")
  </code></pre>
  
  <p>.C file</p>
  
  <pre><code>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;
  </code></pre>
  
  <p>and then .h file</p>
  
  <pre><code>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;
  </code></pre>
  
  <p>So, what should I do?</p>