Unaufgelöste externe Symbole: __imp__fprintf und __imp____iob_func mit SDL2
Bei der Programmierung ist die Begegnung mit unaufgelösten externen Symbolen ein häufiges Problem, das sich in Verknüpfungsfehlern äußert. Zwei spezifische Symbole, die bei SDL2 häufig solche Fehler verursachen, sind __imp__fprintf und __imp____iob_func.
Das unaufgelöste externe Symbol __imp__fprintf entsteht, weil sich fprintf, das für formatiertes Drucken verwendet wird, in einer Dynamic Link Library (DLL) befindet. Compiler verknüpfen normalerweise zur Laufzeit eine Verbindung zu diesen Bibliotheken, aber manchmal kann der Linker die entsprechende DLL nicht finden. Dies kann passieren, wenn die DLL nicht im Systempfad vorhanden ist oder wenn die falsche Version verknüpft ist.
Das unaufgelöste externe Symbol __imp____iob_func hängt dagegen mit der Standard-Eingabe/Ausgabe (I/O) von C zusammen ) Funktionen. Insbesondere wurden mit Visual Studio 2015 Änderungen an der Definition von E/A-Funktionen wie stdin, stdout und stderr eingeführt. Diese Funktionen werden jetzt mit __acrt_iob_func definiert, während sie in früheren Versionen mit __iob_func definiert wurden. Dies kann zu Verknüpfungsfehlern führen, wenn Bibliotheken oder Code verwendet werden, der mit älteren Versionen von Visual Studio kompiliert wurde.
Um diese ungelösten externen Symbolfehler zu beheben, können Sie die folgenden Schritte ausführen:
Indem Sie diese Schritte befolgen, können Sie die ungelösten externen Symbolfehler im Zusammenhang mit __imp__fprintf und __imp____iob_func effektiv beheben, wenn Sie mit SDL2 in Visual Studio 2015 arbeiten.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich mit SDL2 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!