Hi all, I've a file named FONT.H where are located some text fonts in code. They are defined and initialized like this:
code U8 au8FontSystem5x8[]= { 0x00,0x00,0x00,0x00,0x00, /* Espace 0x20 */ 0x00,0x00,0x4f,0x00,0x00, /* ! */ ... ... }
typedef struct FONT_DEF { U8 u8Width; /* Character width for storage */ U8 u8Height; /* Character height for storage */ U8 *au8FontTable; /* Font table start address in memory */ } FONT_DEF; struct FONT_DEF *pptr; extern struct FONT_DEF code Font_System5x8 = {5, 8, au8FontSystem5x8}; extern struct FONT_DEF code Font_System7x8 = {7, 8, au8FontSystem7x8};
GLCD_Printf("Hello world", &FontSystem5x8);
***ÿERROR 202 IN LINE 35 OF GLCD.H: 'au8FontSystem5x8': undefined identifier
extern code U8 au8FontSystem5x8[]= { 0x00,0x00,0x00,0x00,0x00, /* Espace 0x20 */ 0x00,0x00,0x4f,0x00,0x00, /* ! */ ... ... }
... Please no that this has absolutely no relevance to Keil tools --- you're asking very basic questions about C, which you should have learned from your textbook of choice, or ask about elsewhere. The key is that you have "extern" declarations (_not_ definitions) in the .h file, and actual definitions (usually without "extern") in exactly one of the .C files. e.g. foo.h:
extern int variable;
#include "foo.h" /*...*/ int variable = 5;