В библиотеке описано несколько классов. Так же заданы символы препроцессра, и определен экспортируемый макрос.
#ifdef DLL_EXPORT_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
В каждом из классов подключен данный файл, но, в одном файле перед именем класса макрос определяется нормально как __declspec(dllexport), но в другом классе, данный макрос определяется как __declspec(dllimport).
Почему такое происходит? Файлы класса точно находятся в библиотеке, но не в исполняемом приложении.
В заголовочные файлы классов никакие другие заголовки не подключаются, лишь определяются имена классов для передачи как параметры.
Версия студии: 2017 15.6.7
Сборка персонального компьютера от Artline: умный выбор для современных пользователей