首頁 >後端開發 >C++ >為什麼我在 Visual Studio 2015 中遇到無法解析的外部符號 __imp__fprintf 和 __imp____iob_func?

為什麼我在 Visual Studio 2015 中遇到無法解析的外部符號 __imp__fprintf 和 __imp____iob_func?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-28 07:13:14511瀏覽

Why Do I Get Unresolved External Symbols __imp__fprintf and __imp____iob_func in Visual Studio 2015?

解開未解析的外部符號之謎:__imp__fprintf 和__imp____iob_func

您的兩個編譯錯誤表明連結器無法找到外部符號的必要定義符號: __imp__fprintf 和__imp____iob_func。這些符號與輸入和輸出操作相關。

在 Visual Studio 2015 中,stdin、stderr 和 stdout 定義的變更引入了此錯誤。以前定義為 __iob_func(),這些符號現在定義不同。這種不一致會導致與使用舊版本 Visual Studio 編譯的函式庫發生連結問題。

要解決此問題,您可以將 __iob_func() 定義為包含 {stdin,stdout,*stderr 的陣列在您的程式碼中。此外,將legacy_stdio_definitions.lib加入連結器選項中可以解決與stdio函數相關的錯誤,例如sprintf()。

透過執行以下步驟,您可以解決未解決的外部符號錯誤並成功編譯SDL2程式.

以上是為什麼我在 Visual Studio 2015 中遇到無法解析的外部符號 __imp__fprintf 和 __imp____iob_func?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn