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?


  • Mod

    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.aspx

    Aber ich vermute, dass eine der Objektdateien die ausgeliefert wurden mit "älteren" Headern kompiliert wurden...


Log in to reply