无法在VS2015中构建针对Windows 8.1的c ++项目。未解析的外部符号_sprintf

时间:2016-09-28 18:29:26

标签: visual-c++ visual-studio-2015 windows-8.1

我无法在Windows 10计算机中构建面向Windows 8.1的VC ++项目。我得到的错误是"未解析的外部符号_sprintf" 。如果我将目标平台更改为Windows 10或添加了legacy_stdio_definitions.lib,我只能构建项目。这是我不想做的。我可以在没有这样做之前构建这个项目。我的同事可以在他们的机器中构建相同的代码。问题是,我的机器上缺少什么?

我已经尝试将visual studio更新到最新版本。我还尝试从程序和功能修复visual studio。

1 个答案:

答案 0 :(得分:0)

_sprintf在stdio.h中定义。如果您#include <stdio.h>,则可以使用它。   这是一个古老的功能。见here 有关该功能及其使用的更多信息。 C ++具有详细here函数的模板版本。该功能虽然是CRT库的一部分,但已经有一段时间了。检查你的链接,确保你喜欢它的CRT,在你的情况下,它将是legacy_stdio_definitions.lib。在您更改构建目标之前,它可能会自动链接到项目中,并且当您还原构建目标时,该设置不会恢复为该设置。您的问题是项目设置,而不是Visual Studio或编译器本身。