The warning is very serious!
This problem will cause the heap corruption, please solve it, thx
warning C4251: ‘cocos2d::CCLabelAtlas::m_sString’ : class ‘std::basic_string<*Elem,*Traits,_Ax>’ needs to have dll-interface to be used by clients of class ‘cocos2d::CCLabelAtlas’
It’s false positive. STL doesn’t need dll interface or already have it, since it well tested and provided by Microsoft (in your case). Same is truth for libstdc**, libc** and other STL implementations.
It’s true positve. Please see: http://support.microsoft.com/default.aspx?scid=KB;EN-US;168958
If we use stl var in another dll or exe, it will.
eg:
class foo
{
private:
string m_strName;
public:
dll export getName() { return m_strName; }
};
Sergey Shambir wrote:
It’s false positive. STL doesn’t need dll interface or already have it, since it well tested and provided by Microsoft (in your case). Same is truth for libstdc**, libc** and other STL implementations.