I am using C++ with Visual Studio 2010. I am trying to build a client-server architecture where both client and server rely on the same 'Engine'
Following is a diagram which explains this:
image http://img266.imageshack.us/img266/5573/dependencies.png
Where:
Engine - Application specific engine
BaseEngine - Non-application specific engine (used by other applications)
SomeLibrary - A library that the BaseEngine depends on
Using Visual Studio, I have set up the appropriate project references and 'Include Directories'.
The Client is able to see methods in the Engine and the Engine is able to see methods in the the BaseEngine. However the problem is that I'm getting a few Link errors (LNK1120, LNK2001) when the Client and/or Server call methods on the Engine.
It seems that this is occuring because the Engine relies on BaseEngine and the Client does not have a dependency on BaseEngine.
So my question is:
Is there anyway that the Engine and BaseEngine projects can be wrapped up so that the Client and Server don't need to reference the BaseEngine?