我试图使我的库可作为DLL导出,但是对于使用std :: vector的一个特定类,我收到了很多这些警告:
template
class AGUI_CORE_DECLSPEC AguiEvent {
typedef void (*AguiCallbackFptr)(T arg, AguiWidget* sender);
std::vector 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,并且我需要使其成为跨平台的,以便仅在实际上定义AGUI_CORE_DECLSPEC时才执行MS特定的操作。
我应该怎么做才能摆脱这些警告?
谢谢