I'm trying to create a static abstraction system, where I have a system library and an application.

The System Library has a function that takes a BufferObject * as a parameter - the header that it includes is an empty class declaration with no definitions.

In my application, a class such as BufferObject_D3D is created using typedef BufferObject_D3D BufferObject. The interface is the same as the empty declaration.

When I try using the function, I get an unresolved external, where there is no function that takes a BufferObject_D3D * as a type.

Is there any way that I can solve this?