当我使用GLFW和GLEW编译我的代码时,glewInit()是一个
undefined reference to '_imp_glewInit@0'
奇怪的是,它直接位于那里的glewExperimental令牌没有问题。 (如果我编译了glewInit()注释掉,它将成功编译并运行)
我的整体问题是,为什么在将glewExperimental更改为true时未定义glewInit();以及如何解决此问题。
我的MinGW编译器调用:
C:\MinGW\bin\c++.exe -x c++ -o "%cd%\aeonsplice.exe" -static "main.cpp" -Wl,glew32.dll,glfw.dll
我在哪里调用glewInit():
glewExperimental = true; // this checks out as fine (I don't have glewExperimental declared anywhere) if (glewInit() != GLEW_OK) // this is where it breaks { fprintf( stderr, "Failed to initialize GLEW, exiting.\n" ); aeonAPITerminate(); // This calls glfwTerminate() return false; }
如果需要更多信息,我会按要求编辑。是的,我确实搜索过并发现有关glewInit()的20多个问题无效,但没有一个与我的问题相符。
答案 0 :(得分:2)
对于mingw编译器,您必须链接 glew32s.lib 而不是 glew32.lib ,它必须位于所有链接列表的第一个。