在Windows 8(64位)上使用GLFW和MinGW

时间:2015-01-28 03:06:02

标签: c++

代码:

#include <GLFW/glfw3.h>

int main() {
    if(glfwInit()) {

    }
    return 0;
}

我链接了库(MinGW lib中的dll和.a文件)。我在MinGW / include / GLFW中有include头。这是编译器(eclipse控制台)输出:

Info: Internal Builder is used for build
g++ -o Test.exe "src\\Test.o" -lopengl32 -lglfw3
src\Test.o: In function 'main':
c:\Users\Bobby\Workspace\Test\Debug/../src/Test.cpp:11: undefined reference to 'glfwInit'
collect2.exe: error: ld returned 1 exit status

在发布之前我尝试了很多东西。

1 个答案:

答案 0 :(得分:0)

如果您使用的是32位编译器(MinGW或32位版本的MinGW-w64),请确保您已下载适用于Windows的32位版本的GLFW3,并且正在使用lib-mingw子目录。 64位版本的GLFW3仅适用于64位版本的MinGW-w64,这是一个独立于32位MinGW的项目。

请注意,您使用64位操作系统并不重要。如果您使用的是32位编译器,那么您需要32位库。

虽然这不是您遇到的问题,但我还应注意,32位版本的GLFW3 for Windows与MinGW并不完全兼容。静态库lib-mingw/libglfw3.a依赖于MinGW-w64运行时,因此无法与MinGW正确链接。导入库lib-mingw/glfw3dll.a及其关联的DLL lib-mingw/glfw3.dll应该可以与MinGW一起使用。