Visual Studio 2015 の SDL2 での未解決の外部シンボル エラー
リンカーによって報告される「未解決の外部シンボル」エラーは、必要なシンボルが、__imp__fprintf および __imp____iob_func が定義されていない、またはプログラム内で正しくリンクされています。
必要なライブラリ (SDL2.lib および SDL2main.lib) がすべて正しくリンクされているとのことでした。ただし、問題は、Visual Studio 2015 と以前のバージョンの間で標準入出力 (I/O) 関数の定義が異なることにある可能性があります。
Visual Studio 2015 では、printf、fprintf、stderr などの関数が定義されています。 __iob_func() の代わりに __acrt_iob_func() を使用します。これは、{stdin,stdout,*stderr} を含む配列を返すために、__iob_func() を自分で定義する必要がある場合があることを意味します。
stdio 関数の未解決の外部シンボル エラーを解決するには、次のようにします。リンカオプションにlegacy_stdio_settings.libを追加できます。このライブラリは、Visual Studio 2015 のこれらの関数に必要な定義を提供します。
要約すると、この問題は、Visual Studio 2015 の標準 I/O 関数の定義の変更によって発生します。リンカー エラーを修正するには、__iob_func() を定義し、legacy_stdio_settings.lib をリンカー オプションに追加します。
以上がVisual Studio 2015 の SDL2 で未解決の外部シンボル エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。