Original Post
Strange problem. I have this in a header file called say Thing.h: #include "IDFRoot.h" namespace ANameSpace { extern DFRESULT createRoot(bool bLog, const float DFENGINEVERSION, LPIDFROOT *pIRoot); } Now LPIDFROOT is defined in IDFRoot.h like this: class IDFRoot { //Blah }; typedef class IDFRoot *LPIDFROOT; Now with that when i compile I get this error: Thing.h: error C2061: syntax error : identifier 'LPIDFROOT' It compiles fine if were to put the createRoot() declaration in IDFRoot.h just under the typedef but when I try to use the function in my Apps I get an Undefined external symbol. I'm not quite sure what I'm doign wrong so any help would be appreciated.