2013-02-01 130 views
3

链接错误简单地说:GLFW和GLEW与视觉工作室2010

error LNK2019: unresolved external symbol _glfwSetWindowTitle referenced in function _main 
error LNK2019: unresolved external symbol [email protected] 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),这两者都不是必需的。我已经有了库文件,并且也尝试将它们复制到项目目录和每个子目录中,但仍然没有骰子。我很感激任何建议或见解!

回答

0

也许你加了#define GLFW_DLL 我添加它时会重现错误。 如果你想使用GLFW的DLL版本,你应该添加GLFWDLL.lib。
检查GLFW 2.7.4 release notes

+0

我不定义GLFW_DLL,虽然我已经用这种方式试图与DLL,以及包括GLFWDLL。库。 – Fulluphigh

0

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

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

0

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

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

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

立即修复是停止使用GLEW_STATIC并使用GLEW。我做了和我下面列出的相同的步骤,而不是使用glew32.dll而不是静态GLEW,并且它对我来说一切正常。

确保包括GLFW和GLEW中作了:

属性> C/C++>常规>附加包含目录

然后,你需要链接库GLFW和GLEW在:

属性>链接>常规>附加库目录

当然,一定要告诉您要使用(包括GLFW和GLEW在这种情况下)

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

然后你采取什么样的DLL输入你刚刚告诉的GLFW和GLEW DLL都添加到其他依赖项中,并将它们粘贴到包含入口点的文件夹(main.cpp)中。

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

希望这解决了您的问题。密切注意将这些DLL文件复制到包含入口点的文件夹中 - 这正是我的缺点。

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