编译MFC程序过程出现以下错误:
- Error LNK2019 unresolved external symbol __imp___vsnprintf
解决方法:在Visual Studio工程选项,链接器附加依赖项里面添加legacy_stdio_definitions.lib即可.
- LNK2001 unresolved external symbol __imp___iob
解决方法:在程序中重新定义_iob, 加上这段代码:extern"C" { FILE _iob[] = { *stdin, *stdout, *stderr }; }
产生以上两个问题的原因是程序中引用的链接库是用旧版的stdio库编译, 与新版的标准库定义不一样。 所以只好用代码重新定义函数指向。