无法解析的外部符号 imp_vsnprintf 及__iob_func
最近在拾取老项目进行整理打包,由于环境都升级到更高,所以编译出现 无法解析的外部符号 imp_vsnprintf 及__iob_func
- 无法解析的外部符号 imp_vsnprintf
属性 > 链接器 > 输入 > 附加依赖项 > 添加 legacy_stdio_definitions.lib
原因是vs默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数。
- 无法解析的外部符号 __iob_func
原因是VS上使用了VC6编译的DLL,其实iob_func和iob都是用来定义stdin,stdout,stderr
原来在VS中iob_func改成了acrt_iob_func,在自己的代码(报错的代码里)中增加了一个名为__iob_func转换函数:
1 | #if _MSC_VER>=1900 |