GLFW和Glew链接错误与Visual Studios 2010

时间:2013-02-01 02:18:08

标签: visual-studio-2010 opengl linker glut glfw

简单地说:

error LNK2019: unresolved external symbol _glfwSetWindowTitle referenced in function _main
error LNK2019: unresolved external symbol __imp__glewInit@0 referenced in function _main
error LNK2001: unresolved external symbol __imp__glewExperimental
error LNK2019: unresolved external symbol _glfwTerminate referenced in function _main
error LNK2019: unresolved external symbol _glfwOpenWindow referenced in function _main
....etc....

在链接器 - >输入 - >其他依赖项中:

opengl32.lib
glfw.lib
glew32.lib
glu32.lib

我一直在努力尝试我能想到的一切,没有任何效果,所以有些甚至可能都没有必要。

然后在其他库目录中,我得到:$(VSInstallDir)lib; $(Path),这两者都不是必需的。我在那里有库文件,并且还尝试将它们复制到项目目录和每个子目录,但仍然没有骰子。我很感激任何建议或见解!

3 个答案:

答案 0 :(得分:0)

也许您添加了#define GLFW_DLL 我添加它时可以重现错误。 如果要使用GLFW的DLL版本,则应添加GLFWDLL.lib 检查GLFW 2.7.4 release notes

答案 1 :(得分:0)

不确定GLFW的问题,但对于GLEW,我必须定义GLEW_STATIC。

转到项目 - >属性 - > C / C ++ - >预处理器,然后在预处理器定义下添加GLEW_STATIC。

答案 2 :(得分:0)

我有一个与此非常相似的问题。我可以在我的入口点编写代码来使用GLFW和GLEW来创建一个窗口,但是只要我在一个单独的文档(即app.hpp)中抽象它,并将它包含在我的入口点,它就不会编译尽管代码是正确的。

  

错误LNK2019:函数_main中引用的未解析的外部符号__imp__glewInit @ 0   错误LNK2001:未解析的外部符号__imp__glewExperimental

我得到的这两个错误是因为不知何故,GLEW没有被正确地包含在我的项目中。实际问题是链接器没有获得所需的正确文档。就是我使用glew32s.dll而不是glew32.dll。

立即解决方法是停止使用GLEW_STATIC并使用GLEW。我做了与下面列出的相同的步骤,而不是使用glew32.dll而不是静态GLEW,这一切都适合我。

确保GLFW和GLEW的包含在:

  

属性> C / C ++>一般>其他包含目录

然后您需要链接库GLFW和GLEW:

  

属性>链接器>一般>其他图书馆馆藏

当然,请确保告诉输入您要使用的DLL(在这种情况下为GLFW和GLEW)

  

属性>链接器>输入>附加依赖

然后,您将刚刚告知的GLFW和GLEW DLL添加到其他依赖项中,并将它们粘贴到包含入口点(main.cpp)的文件夹中。

这解决了我的所有问题 - 这基本上与你的问题类似。

希望这能解决你的问题。请密切注意将这些DLL文件复制到包含入口点的文件夹中 - 这正是我不知道的地方。

  

opengl32.lib   glfw3.lib   glew32s.lib   glew32.lib