Let me start by saying I\'ve extensively searched for answers on google and more specifically here.
The thing is I actually (at least I think I did) found people wit
"extern Player john;" is considered to be undefined identifier as the compiler is unable to understand what Player is, as you have not included the file Player.cpp where the class Player is declared to cc.h . It is always recommended to declare the class and its methods in header files say for example in Player.h and then define these methods in the source file i.e Player.cpp. And to include Player.h in your cc.h so that compiler understands where " Player john;" is declared.