Visual Studio 2015 中的 SDL2 无法解析的外部符号错误
链接器报告的“无法解析的外部符号”错误表明所需的符号、 __imp__fprintf 和 __imp____iob_func 未在您的文件中正确定义或链接程序。
您提到您已正确链接所有必要的库(SDL2.lib 和 SDL2main.lib)。但是,问题可能在于 Visual Studio 2015 和早期版本之间对标准输入/输出 (I/O) 函数的定义不同。
在 Visual Studio 2015 中,定义了 printf、fprintf 和 stderr 等函数使用 __acrt_iob_func() 而不是 __iob_func()。这意味着您可能需要自己定义 __iob_func() 以返回包含 {stdin,stdout,*stderr}.
要解决 stdio 函数未解决的外部符号错误的数组,您可以将legacy_stdio_definitions.lib添加到您的链接器选项中。该库将为 Visual Studio 2015 中的这些函数提供必要的定义。
总而言之,该问题是由于 Visual Studio 2015 中标准 I/O 函数的定义发生变化而产生的。修复链接器错误,定义 __iob_func() 并将legacy_stdio_definitions.lib 添加到链接器选项中。
以上是为什么我在 Visual Studio 2015 中使用 SDL2 时遇到未解决的外部符号错误?的详细内容。更多信息请关注PHP中文网其他相关文章!