问题:
=====================================================================
ALT 工程中,当导出类中包含string类型的私有成员时,会产生如下告警:
warning: C4251:class“std::basic_string<_Elem,_Traits,_Ax>”需要有 dll 接口由 class“xxx”的客户端使用
处理方法:
=====================================================================
#ifdef STL_EXPORTS
#define CLASS_API __declspec(dllexport)
#define EXPIMP_TEMPLATE
#else
#define CLASS_API__declspec(dllimport)
#define EXPIMP_TEMPLATE extern
#endif
EXPIMP_TEMPLATE template class CLASS_API std::allocator<char>;
EXPIMP_TEMPLATE class CLASS_API std::_String_base;
EXPIMP_TEMPLATE template class CLASS_API std::_String_val<char,std::allocator<char>>;
EXPIMP_TEMPLATE template class CLASS_API basic_string<char, char_traits<char>, std::allocator<char>>;