Well I see two problems here :
class DLLIOX2 Game{ private: int bob; public: Game(); void Flip();}Game;
Here you declare a class of type "Game" as well as an instance of this class with exactly the same name, "Game". I don't think C++ allows this. Anyways I don't see why you'd create an instance of this class, so you could simply remove the "Game" at the end of your class declaration like this :
class DLLIOX2 Game{ private: int bob; public: Game(); void Flip();}; // No "Game" here!
Secondly, I'm not sure that C++ DLLs allow exporting classes (in fact I'm pretty sure it does not). However, you might be able to do the following (as long as your dll and app are compiled with the same compiler, else it might not work) :
class Game{ // No DLLIOX2 private: int bob; public: Game(); void Flip();};Game * DLLIOX2 CreateGame();void DLLIOX2 DestroyGame(Game * game);
The DestroyGame function is needed because you cannot destroy a class instance that was created in a dll in your main app, you jave to let the dll delete it itself. So in your .cpp file, you'd add :
Game * CreateGame() { return new Game(); }void DestroyGame(Game * game) { delete game; }
Keep in mind that C++ DLLs and OOP don't go well together.