C:Visual Studio 2015 中未解析的外部符号 _sprintf 和 _sscanf

新手上路,请多包涵

对于一个研究项目,我正在为科学计算语言编写 C++ 插件。不幸的是,允许用户执行此操作的库并没有很好地保持最新状态。

我在 XCode 中启动了这个项目,在那里它构建得很好。后来我不得不搬到PC上,所以我将代码迁移到Visual Studio 2015。由于这样做,由于以下错误,我一直无法构建:

 LNK2001 : unresolved external symbol _sprintf
LNK2019 : unresolved external symbol _sscanf referenced in function _GetDDouble
LNK2019 : unresolved external symbol _sprintf referenced in function _CheckRunningInMainThread

尝试的修复是添加标题 #define _CRT_SECURE_NO_WARNINGS 。但是,这 a) 没有修复错误,并且 b) 添加了警告 C4005 : '_CRT_SECURE_NO_WARNINGS': macro redefinition 。我假设库已经定义了这个宏,预料到了这个问题。无论如何,它并没有解决问题。

我应该如何进行?

原文由 NcAdams 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 735
1 个回答

我最近遇到了这个问题,并且能够将 User32.lib 添加到 Linker > Input > Additional Dependencies。

您还可以在代码中包含 #pragma comment (lib, "User32.lib")

原文由 TechNobo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题