ERROR LNK2019:无法解析的外部的符号 _sscanf或者_vsprintf

Visual Studio 2015

操作系统:win 10


问题:

编译的时候可能会遇到 ERROR LNK2019:无法解析的外部的符号 __vsnwprintf_s,或者是_sscanf,_sscanf_s等等一系列形如这样的函数


疑问:

这些函数明明就是系统自带的函数,但是为什么在VS2015中编译不过,但是在低版本中编译的过呢?


解决方案:

在工程属性中,打开“链接器”,在“附加依赖项”中添加以下代码即可。

legacy_stdio_definitions.lib  
  1. legacy_stdio_definitions.lib  

或者是在报错的.c文件中加#parameter(lib," legacy_stdio_definitions.lib  ")

原因:

vs2015默认编译时将许多标准库采用内联方式处理,因而没有可以链接的标准库文件,所以要专门添加标准库文件来链接标准库中的函数

猜你喜欢

转载自blog.csdn.net/weixin_39484422/article/details/80156848