Так как в тегах gcc:
Если я правильно помню в gcc по дефолту экспортирует символы
dll[export|import] это атрибуты msvc
при разработке на msvc для таких атрибутов принято писать макросы
#if defined(BUILDING)
#define DLL_ATTR __declspec(dllexport)
#else
#define DLL_ATTR __declspec(dllimport)
#endif
BUILDING должен быть определен при сборке
если используется cmake, то в CMAKE_CXX_FLAGS надо добавть /DBUILDING