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"
This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.
A list of licenses authors might use can be found here