Я пытаюсь сделать мою библиотеку экспортируемой как DLL, но я получаю много этих предупреждений для одного конкретного класса, который использует std::vector:
template <typename T>
class AGUI_CORE_DECLSPEC AguiEvent {
typedef void (*AguiCallbackFptr)(T arg, AguiWidget* sender);
std::vector<AguiCallbackFptr> events;
public:
void call(AguiWidget* sender, T arg) const;
void addHandler(AguiCallbackFptr proc);
void removeHandler(AguiCallbackFptr proc);
void removeHandler();
AguiEvent();
};
Я получаю такие предупреждения:
Предупреждение 57 Предупреждение C4251: "AguiEvent:: events": класс 'std::vector < _Ty > ' должен иметь dll-интерфейс, который будет использоваться клиентами class 'AguiEvent'
Я попытался найти, как это сделать правильно, но документация MSDN - это только "Только Windows", и мне нужно, чтобы это было кросс-платформой, так что она специфична только для MS, когда AGUI_CORE_DECLSPEC фактически определен.
Что мне делать, чтобы избавиться от этих предупреждений?
Спасибо