Heim >Backend-Entwicklung >C++ >Warum erhalte ich in Visual Studio 2015 unaufgelöste externe Symbole __imp__fprintf und __imp____iob_func, wenn ich SDL2 verwende?
Ungelöste externe Symbole: __imp__fprintf und __imp____iob_func in Visual Studio 2015
Beim Kompilieren von Programmen, die SDL2 in Visual Studio 2015 verwenden, kann es zu ungelösten Symbolen kommen externe Symbole __imp__fprintf und __imp____iob_func. Dieser Fehler weist darauf hin, dass der Linker Verweise auf diese Symbole in den verknüpften Bibliotheken nicht auflösen kann.
Zuvor definierte Visual Studio Standard-E/A-Funktionen (stdin, stdout, stderr) mithilfe von __iob_func() und seinem Index. In Visual Studio 2015 wurden die Definitionen jedoch geändert und stattdessen __acrt_iob_func() verwendet. Durch diese Änderung wurde der direkte Verweis auf __iob_func() entfernt, was zu ungelösten Symbolfehlern bei der Verwendung von Bibliotheken führte, die mit älteren Versionen von Visual Studio kompiliert wurden.
Um dieses Problem zu lösen, können Sie entweder:
Nachdem Sie diese Änderungen vorgenommen haben, kompilieren Sie Ihren Code neu. Die ungeklärten externen Symbole sollten nicht mehr erscheinen.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Visual Studio 2015 unaufgelöste externe Symbole __imp__fprintf und __imp____iob_func, wenn ich SDL2 verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!