在编译旧版本 VS 带 SDL 的项目时经常遇到这个问题,两个错误分开解决。
无法解析的外部符号 __imp____iob_func
VS2015 开始这个方法名被更新了,手工定义一下即可。
FILE _iob[] = { *stdin, *stdout, *stderr };
extern"C" FILE * __cdecl __iob_func(void)
{
return _iob;
}
无法解析的外部符号 __imp__fprintf
微软自己出了一个库文件专门解决这个问题,我们只需要在链接器的附加依赖项中添加 legacy_stdio_definitions.lib
依赖即可解决。