Das Geheimnis ungelöster externer Symbole lüften: __imp__fprintf und __imp____iob_func
Ihre Kompilierungsfehler weisen darauf hin, dass der Linker die erforderlichen Definitionen für zwei externe Symbole nicht finden kann Symbole: __imp__fprintf und __imp____iob_func. Diese Symbole beziehen sich auf Eingabe- und Ausgabevorgänge.
In Visual Studio 2015 wurde dieser Fehler durch Änderungen an der Definition von stdin, stderr und stdout verursacht. Früher als __iob_func() definiert, sind diese Symbole jetzt anders definiert. Diese Inkonsistenz führt zu Verknüpfungsproblemen mit Bibliotheken, die mit älteren Versionen von Visual Studio kompiliert wurden.
Um dieses Problem zu beheben, können Sie __iob_func() als Array definieren, das {stdin,stdout,*stderr enthält } in Ihrem Code. Darüber hinaus kann das Hinzufügen von „legacy_stdio_definitions.lib“ zu Ihren Linker-Optionen Fehler im Zusammenhang mit stdio-Funktionen wie sprintf() beheben.
Durch Befolgen dieser Schritte können Sie die ungelösten externen Symbolfehler beheben und Ihr SDL2-Programm erfolgreich kompilieren .
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Visual Studio 2015 unaufgelöste externe Symbole __imp__fprintf und __imp____iob_func?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!