Это для будущего экспорта.На данный момент Ogre может быть строго статически связанной библиотекой, но если авторы решат поддерживать динамически связанные библиотеки (так называемые разделяемые библиотеки на некоторых платформах), им нужно будет написать код, подобный:
class
#ifdef EXPORTING
__declspec(dllexport)
#else
__declspec(dllimport)
#endif
Sample_Character [...]
... и это только для MSVC.Обычно они должны были бы приложить усилия, чтобы сделать это с Sample_Character и всеми другими классами, которые они предоставляют через свою библиотеку.Создание одного макроса, который будет определен позже, намного проще, поскольку им нужно будет сделать это только в одном месте.