opengl Visual Studio 11 GLFW外部符号错误

beq87vna  于 2022-11-04  发布在  其他
关注(0)|答案(5)|浏览(210)

我使用的基本代码是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作为附加依赖项添加到链接器输入中,但我仍然收到此错误。
知道为什么吗?我使用了预编译的二进制文件(支持MSVC 2012和64 x)http://www.glfw.org/download.html

3npbholx

3npbholx1#

好吧,经过反复试验,我解决了这个问题。
1.使用32位二进制文件
1.右键单击项目-〉属性-〉VC++
1.包含目录:C:\用户\MICHAEL\桌面\glfw-3.0.3.bin.WIN32\include;$(包含路径)
1.程式库目录:C:\用户\迈克尔\桌面\glfw-3.0.3.bin.WIN32\lib-msvc 110;$(程式库路径)
1.链接器-〉输入-〉附加依赖项添加
1.文件库和开放源码软件库
这对我来说已经解决了。

omqzjyyz

omqzjyyz2#

这是我的解决方案,如果有人打算使用64位版本的GLFW:
1.从github获取GFLW源代码。
1.使用CMake生成64位的Visual Studio sln。
1.使用正确的设置配置glfw:
如果是动态库:
项目-〉配置-〉C/C++ -〉代码生成-〉运行时库-〉多线程调试DLL(/MDd)
如果是静态库:
项目-〉配置-〉C/C++ -〉代码生成-〉运行时库-〉多线程调试(/MTd)
1.生成glfw项目。
1.在项目中链接以下二进制文件:

glfw3.lib;opengl32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;glfw3.lib

1.同时使用相应的/MDd或/MTd编译器标志配置您的项目,并将其配置为在x64上生成。
1.建立。

2o7dmzc5

2o7dmzc53#

请确保根据您使用的版本将平台设置为x64或32。我尝试获取64位平台,但一直遇到问题,直到我注意到Visual Studio中的活动平台是win32。请转到配置管理器,并确保将其设置为64

unguejic

unguejic4#

我没有必要的声誉来评论被接受的答案(由Michael),但我想指出,我得到了他的方法的工作。我需要纠正的是切换包含和库目录之前,其余的IncludePath/LibraryPath,而不是之后。

ni65a41a

ni65a41a5#

除了添加glfw3.lib和opengl32.lib到链接器依赖项之外,我还添加了gdi32.lib。这解决了我在VS2019上使用glfw时的链接器问题。


# pragma comment(lib, "gdi32.lib")

# pragma comment(lib, "opengl32.lib")

# pragma comment(lib, "glfw3.lib")

相关问题