【发布时间】:2013-11-26 16:54:56
【问题描述】:
我使用的基本代码是来自http://www.glfw.org/documentation.html的示例
我得到这个输出:
1>------ Build started: Project: ConsoleApplication1, Configuration: Debug Win32 ------
1> Quelle.cpp
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwInit referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwTerminate referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwCreateWindow referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwWindowShouldClose referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwPollEvents referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwMakeContextCurrent referenced in function _main
1>Quelle.obj : error LNK2019: unresolved external symbol _glfwSwapBuffers referenced in function _main
1>C:\Users\MICHAEL\documents\visual studio 2012\Projects\ConsoleApplication1\Debug\ConsoleApplication1.exe : fatal error LNK1120: 7 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
glfw3.h 位于 VC/include 目录中。 我还将 glfw3.lib 添加到 VC/lib 文件夹中,并将 glfw3.lib 添加为链接器输入的附加依赖项,但我仍然收到此错误。
知道为什么吗?我使用了预编译的二进制文件(支持 MSVC2012 和 64x)http://www.glfw.org/download.html
【问题讨论】:
-
可能是 32 位/64 位冲突。你下载了哪一个,你正在为哪一个编译?
-
我已经下载了 64 位 Windows 二进制文件,因为我有 64 位 Windows,而我的 Visual Studio 是 64 位,但我编译为 32 位。我会在 32 位版本上试用它,并告诉你它是否有效。
-
不。与 32 位二进制文件完全相同的错误
-
注意:你不应该往 VC 安装目录中添加东西;将它们放在您的项目旁边,并适当地设置您的项目的包含和库路径。 VC 在查找 lib 文件时可能会在您不期望的位置查找(例如,64/32 位库位于不同的位置)。这是一个你应该忽略的实现细节。
-
好的,谢谢。我将它从 VC 目录中删除,并将 lib 路径设置为新目录。解决方案已被删除 - 顺便说一句,它没有用
标签: c++ opengl visual-studio-2012 linker glfw