Я пытаюсь сделать мою библиотеку экспортируемой как 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-интерфейс для использования клиентами
класс 'AguiEvent'
Я пытался найти, как это сделать правильно, но документация MSDN очень подходит только для Windows, и мне нужно, чтобы она была кроссплатформенной, чтобы она выполняла специфические для MS вещи, только когда AGUI_CORE_DECLSPEC фактически определено.
Что я должен сделать, чтобы избавиться от этих предупреждений?
Спасибо