GLFW在Windows8上使用Eclipse+MinGW的未定义引用
GLFW Undefined References using Eclipse + MinGW on Windows 8
我正在尝试设置GLFW。我在Windows 8.1 上的Eclipse CDT中工作
我已经下载了GLFW二进制文件,并尝试在此处运行示例代码http://www.glfw.org/documentation.html
到目前为止,我已经包含了glfw标头,并且正在(静态地)与glfw3、opengl32和gdi32链接(按顺序)。
编译器正在运行以下命令
g++ "-IC:\Libraries\GLFW3\include" -O0 -g3 -Wall -c -fmessage-length=0 -o main.o "..\main.cpp"
g++ "-LC:\Libraries\GLFW3\lib-mingw" -o HelloGLFW3.exe main.o -lglfw3 -lopengl32 -lgdi32
我得到每个GLFW函数的错误"Undefined reference to…"。
我不明白我做错了什么。我在谷歌上搜索过,在Stack Overflow上也有一些类似的问题,但都没有解决问题。最常见的建议是重新排序链接顺序,但据我所知,顺序是正确的,我试过以防万一,但没有什么不同。
有人能提供如何正确链接的指导吗?
编辑:我在32位和64位glfw二进制文件中都尝试过(我最初的尝试是在64位二进制文件中,但谷歌表示,链接32位和32位程序可能会有问题——据我所知,我的MinGW版本只能产生32位输出)。这些是产生的错误:
64位二进制文件:
undefined reference to `glfwCreateWindow' main.cpp /HelloGLFW3 line 12 C/C++ Problem
undefined reference to `glfwInit'
undefined reference to `glfwMakeContextCurrent'
undefined reference to `glfwPollEvents'
undefined reference to `glfwSwapBuffers'
undefined reference to `glfwTerminate'
undefined reference to `glfwTerminate'
undefined reference to `glfwWindowShouldClose'
32位二进制文件:
undefined reference to `_imp__CreateDCW@16' HelloGLFW3 line 0, external location: C:LibrariesGLFW3i386lib-mingwlibglfw3.a(win32_gamma.c.obj):win32_gamma.c C/C++ Problem
undefined reference to `_imp__CreateDCW@16'
undefined reference to `_imp__DeleteDC@4'
undefined reference to `_imp__DeleteDC@4'
undefined reference to `_imp__DescribePixelFormat@16'
undefined reference to `_imp__GetDeviceCaps@8'
undefined reference to `_imp__GetDeviceGammaRamp@8'
undefined reference to `_imp__SetDeviceGammaRamp@8'
undefined reference to `_imp__SetPixelFormat@12'
undefined reference to `_imp__SwapBuffers@4'
GLFW提供64位和32位二进制版本。编译程序时,您可以生成64位输出或32位输出。您的程序必须与您正在使用的库兼容。
这意味着,仅仅因为你有一台64位计算机并不意味着你需要64位二进制文件。此外,检查编译器是否输出了您认为它正在输出的内容也是一个好主意。
相关文章:
- Eclipse/MinGW 不会链接库
- SDL 窗口在 Eclipse 中未出现
- 编译并使用Live555 Libs -Windows和Mingw(未解决的引用)
- 在 C++ Eclipse 中未定义对(错误)的引用,但在 Visual Studio 2015 中工作
- Eclipse OpenCV 未定义引用和未找到二进制
- Windows C++Eclipse MinGW链接动态和静态库
- Eclipse 调试未按预期工作
- C:在Visual Studio和Eclipse+MinGW中预编译的头文件
- Eclipse C++项目未解析LD_LIBRARY_PATH包含变量
- 如何使用 Debian 制作一个 Cross-toolchain 来编译从 Win7+Eclipse+MinGW+wxW
- MinGW未定义对"___atomic_fetch_sub_4"的引用
- Mac OSX 上的 Eclipse CDT 未在首选项集中显示调试菜单
- 在编译 Android 版 OpenCV Core 模块时,包含 Eclipse 中未解析的指令引用
- Eclipse, MinGW, Freeglut undefined reference
- Eclipse MinGW:如何在一个项目中拥有多个主干
- GLFW在Windows8上使用Eclipse+MinGW的未定义引用
- Eclipse中未定义的外部引用
- eclipse中未定义的Lapack引用
- Eclipse, minGW and C++11
- java.lang.UnsisfiedLinkError:运行时调用本地方法Eclipse时未找到该本地方法