对于一个研究项目,我正在为科学计算语言编写 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 许可协议
我最近遇到了这个问题,并且能够将
User32.lib
添加到 Linker > Input > Additional Dependencies。您还可以在代码中包含
#pragma comment (lib, "User32.lib")
。