std::string in DLL Projekt
-
ich habe eine DLL programmiert. In dieser DLL gibt es ein Klasse, die mit __declspec(dllexport) exportiert wird. Diese Klasse hat ein Public std::string Mebmer.
Ich erhalte beim Compilieren folgende Warnung:
Warning 1 warning C4251: 'Application::m_RedoDescription' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class ...
Warum kommt diese Fehlermeldung? Der Benutzer hat doch selber ein std::string - außerdem kann ich vom Benutzer erzwingen, das er die gleiche Visual Studio Version zum Übersetzten des Programms verwendet, die ich verwendet habe zum Erstellen der DLL.
Macht es sinn eine eigene Stringklasse zu implementierung, um dieses Problem zu umgehen...?
-
s. http://www.c-plusplus.net/forum/153732 sowie den dort verlinkten englischen Artikel http://www.unknownroad.com/rtfm/VisualStudio/warningC4251.html
Am besten also einfach diese Warnung ausschalten.