vs2015遇到找不到kernel32.lib,无法解析的外部符号 __imp__printf的问题

参考链接https://msdn.microsoft.com/zh-cn/library/bb531344.aspx

大概的原因:vs2015对 printf 和 scanf 系列函数采用内联方式进行定义。


所有 printf 和 scanf 函数的定义已以内联方式移动到 <stdio.h>、<conio.h> 和其他 CRT 标头中。

这项重大更改会导致本地声明这些函数(没有适当的 CRT 标头)的任何程序发生链接器错误(LNK2019、无法解析的外部符号)。 如果可能,应更新代码以包括 CRT 标头(即,添加 #include <stdio.h>)和内联函数,但如果不想修改代码以包括这些标头文件,则可以选择将其他库添加到链接器输入 (legacy_stdio_definitions.lib)。

解决方案:

打开项目,选择“属性”,然后在对话框中选择“链接器”,选择“输入”,

编辑“附加依赖项”,输入legacy_stdio_definitions.lib 即可。


猜你喜欢

转载自blog.csdn.net/kakaluote81/article/details/80341600