Folgender Fehler kommt, wenn ich das Projekt "proj1" Code kompiliere, der xyz.lib verwendet (es ist ein anderes Projekt, das erfolgreich kompiliert wurde).Verknüpfungsfehler in C++ auf Visual Studio 2013
Error 3 error LNK2019: unresolved external symbol "int __cdecl Vsnprintf16(unsigned short *,unsigned int,unsigned short const *,char *)" ([email protected]@[email protected]) referenced in function "int __cdecl eastl::Vsnprintf(wchar_t *,unsigned int,wchar_t const *,char *)" ([email protected]@@[email protected]) File : xyz.lib(abc.obj)
abc.cpp hat Aufrufe an die Funktion sprintf.
Wenn ich den gesamten Code von abc.h und abc.cpp zu einigen anderen lets sagen def.h und def.cpp Datei, die bereits in xyz Projekt vorhanden ist dann funktioniert alles gut, keine Verknüpfung Fehler. Ich weiß nicht warum.
Ich habe alle Includes verwendet, die in Datei def.cpp in abc.cpp verwendet wurden, aber der gleiche Fehler.
Wenn ich die Sprintf() Aufrufe von abc.cpp entfernt, funktioniert auch alles gut.
Bitte, wenn jemand vorschlagen kann, warum dies geschieht. Danke
Ist Ihr Projekt mit UNICODE aktiviert? – marcinj
Ja, ich habe es versucht mit Unicode-Makro aktiviert und deaktiviert, der gleiche Fehler. In Projekteinstellungen Zeichensatz ist "Use Unicode-Zeichensatz" @ marcinj – lsrawat
es sieht aus wie Sie sollten die Definition für diese Funktion selbst hinzufügen – marcinj