c++ - 不应该存在的随机未解析外部符号

标签 c++ windows visual-studio linker symbols

我习惯于为 Linux 编译,所以这个 .lib 东西对我来说有点奇怪。在 Visual Studio 下使用我的程序时,我一直在为其他库甚至 Microsoft 运行时获取随机未解析的外部符号。

1>glfw3.lib(init.c.obj) : error LNK2019: unresolved external symbol __imp__vsnprintf referenced in function __glfwInputError
1>MSVCRTD.lib(vsnprintf.obj) : error LNK2001: unresolved external symbol __imp__vsnprintf
1>glfw3.lib(context.c.obj) : error LNK2019: unresolved external symbol __imp__sscanf referenced in function _parseVersionString
1>MSVCRTD.lib(vsnprintf.obj) : error LNK2001: unresolved external symbol __imp___vsnprintf
1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\OLDNAMES.lib : warning LNK4272: library machine type 'UNKNOWN' conflicts with target machine type 'X86'

我只包含这些库,我可以确认它们已被找到:

x86/glew32s.lib
x86/glfw3.lib
x86/glfw3dll.lib
opengl32.lib

他们继承的值(value)观:

kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib

我可以确认这是准确的顺序。我已经尝试安装和重新安装 Windows 7 SDK 和 Visual Studio - 我也在 Windows 7 上。

如有任何关于此问题的帮助,我们将不胜感激,如果需要,我很乐意提供更多信息。

谢谢,邦西

最佳答案

您还可以向链接器输入添加一个额外的库,即 legacy_stdio_definitions.lib

转到“属性”>“链接器”>“输入”。

并在附加依赖项中添加上述库。

关于c++ - 不应该存在的随机未解析外部符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29556290/

相关文章:

c++ - 在 Ubuntu 12.10 下链接 w/Boost 序列化的未解析符号

c++ - 如何为不同文件夹中的多个 .cpp 文件和 header 编写 Cmake?

c# - 在html中创建树状结构的简单解决方案

windows - Visual Studio 2015 没有响应

c# - 跟踪点有什么用途?

c++ - 构造函数中没有匹配的调用函数 - C++ 11

windows - easy_install.exe 权限在 Windows 8 上被拒绝

c++ - 在编译时检测 Visual Studio 构建工具版本

c - 如何计算C中的进程CPU使用率?

windows - Docker swarm manager 待处理状态