If you create an extension DLL you can most
conveniently export one or more of its classes using AFX_EXT_CLASS.
However if you create a second extension DLL and try to use classes
from the first you will run into a small problem.
The value of AFX_EXT_CLASS will cause your new DLL
to try and export your dependent classes! You will get link errors such as
below for the classes in the first DLL:
error LNK2001: unresolved external symbol ..........
What you need to do is temporarily re-define
AFX_EXT_CLASS when you include the header files for the classes in
the DLL you are importing classes from. The following example shows
how to do this:
#undef AFX_EXT_CLASS
#undef AFX_EXT_API
#undef AFX_EXT_DATA
#define AFX_EXT_CLASS AFX_CLASS_IMPORT
#define AFX_EXT_API AFX_API_IMPORT
#define AFX_EXT_DATA AFX_DATA_IMPORT
#include "DLLOne.H"
#undef AFX_EXT_CLASS
#undef AFX_EXT_API
#undef AFX_EXT_DATA
#define AFX_EXT_CLASS AFX_CLASS_EXPORT
#define AFX_EXT_API AFX_API_EXPORT
#define AFX_EXT_DATA AFX_DATA_EXPORT
#include "DLLTwo.H"