strsfe - legacy?
-
Ich habe hier erstmals das Studio 2015 installiert und bekomme beim Übersetzen des ersten Projekts natürlich auch gleich Fehler gemeldet:
1>strsafe.lib(strsafe.obj) : error LNK2019: unresolved external symbol __vsnprintf referenced in function _StringVPrintfWorkerA@20 1>strsafe.lib(strsafe.obj) : error LNK2019: unresolved external symbol __vsnwprintf referenced in function _StringVPrintfWorkerW@20
Verursacht wird das durch die Benutzung von StringCchPrintf. Gut, das lässt sich leicht durch Hinzufügen von "legacy_stdio_definitions.lib" fixen. Aber wenn das bereits als legacy angesehen wird, wie heißt denn dann der non-legacy Ersatz von StringCchPrintf?
-
Ich sag mal eher, dass ist ein bug...
Normalerweise wird das vermieden in den neuen Headern, weil printf und scanf inliner sind. Siehe
https://msdn.microsoft.com/de-de/library/bb531344.aspxAber ich vermute, dass eine der Objektdateien die ausgeliefert wurden mit "älteren" Headern kompiliert wurden...