Экспорт и импорт классов
Чтобы использовать в DLL классы, класс требуется экспортировать из DLL и импортировать в файл .EXE. Для этого можно использовать условное макроопределение. Например, в файл заголовка можно включить следующее:
#if defined (BUILD_DLL)
#define _MY_CLASS _export
#elif defined(USE_DLL)
#define _MY_CLASS _import
#else
#define _MY_CLASS
#endif
В своих определения определите классы следующим образом:
class _MY_CLASS class {
...
};
При построении DLL определите BUILD_DLL (например, с помощью
параметра -D). Макрокоманда _MY_CLASS будет расширяться в _import. Определите _MY_DLL при построении файла .EXE, который будет
использовать DLL. Макрокоманда _MY_CLASS будет расширяться в _import.