简单地说:
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)
,这两者都不是必需的。我在那里有库文件,并且还尝试将它们复制到项目目录和每个子目录,但仍然没有骰子。我很感激任何建议或见解!
答案 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