I have a var.h file where I create many global variables. I have many .c files where I need to access them (duh). I include var.h in almost all .c files. In the var.h file, I assume that I can simply use the followingBut when doing this I receive the "undefined reference to" error message. But when I use the code used by my co-workers...Code:#define EXT extern #define VOL volatile //Used to flag timer events in main.c EXT VOL FlagStatus one_ms_flag, ten_ms_flag, twnetyFive_ms_flag, fifty_ms_flag, hundred_ms_flag, sec_flag; //Sequence timing events - incrimented every 1 ms in main.c EXT VOL uint16_t event_counter;Everything works great! I have no clue why. Can some one go back to the basics and explain why it works 1 way but not the other? I thought that both would work since variables can be declared as many times as we want but only defined once. Thanks for the tips.Code:#ifdef MAIN #define EXT #else #define EXT extern #endif #ifndef VOL #define VOL volatile #endif //Used to flag timer events in main.c EXT VOL FlagStatus one_ms_flag, ten_ms_flag, twnetyFive_ms_flag, fifty_ms_flag, hundred_ms_flag, sec_flag; //Sequence timing events - incrimented every 1 ms in main.c EXT VOL uint16_t event_counter;