OMG. Never mind. I had a typo in my program. This works great when my spelling mistake was fixed. I had this:

Code:
#ifdef _MYVAR_ 
   #define MODIFIER static 
#else 
   #define MODIFIER extern 
#endif 
 
.
.
.
MODIFER int foo(char *) ;    // <-- note typo)