我正在使用GLEW版本1.10.0与MinGW(通过CodeBlocks IDE),在Windows 8上运行。我从GLEW网站下载了Windows二进制文件,并链接到该版本包含的库。使用MinGW的GLEW问题:未定义的引用'_imp__glewExperimental。'
我有一个链接问题,我似乎无法找到答案。我已经在GLEW主页上进行了安装。我引用了glew32.lib的链接器,以及其他所需的库,如opengl32和glu32。
不幸的是,编译此代码(我还使用GLFW上下文/窗口管理):
#include <stdio.h>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
#define TRUE 1
#define FALSE 0
int main()
{
GLFWwindow *window;
if (!glfwInit())
return -1;
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3.0);
window = glfwCreateWindow(640, 480, "Hello World!", NULL, NULL);
if (!window)
{
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
// Initialize GLEW
glewExperimental=TRUE;
GLenum err = glewInit();
if (err!=GLEW_OK)
fprintf(stderr, "Could not initialize GLEW!");
printf("%s\n", glGetString(GL_VERSION));
while (!glfwWindowShouldClose(window))
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glClear(GL_COLOR_BUFFER_BIT);
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate();
return 0;
}
我得到的错误:
*未定义参考小鬼 _glewExperimental *
即使我是C新手,据我了解,这意味着我指的是没有定义的东西,这通常意味着库缺失。在这种情况下,我的已将包含在库中,并且我没有发现任何有关其他GLEW引用的错误,例如glewInit,我觉得它应该也抱怨应该是缺少库的问题。
我试过搜索网页,但我根本没有发现任何关于这个问题。
任何人有任何想法? :)
非常感谢你的时间。这是非常appriciated。
嘿!我现在有一个非常类似的问题。我使用MSYS的'make'编译了MinGW的GLEW,但仍然收到了一些'not found'消息。你有没有记得你的编译/链接命令或可以轻松地重现它?谢谢! – InvisiblePanda
我遇到同样的问题,'g ++ -o test.exe test.cpp -I include -L lib -D GLEW_STATIC -lglew32 -lopengl32'给出同样的错误'未定义的引用\'glewInit @ 0''。我是否缺少需要链接的其他库? – Jespertheend
好吧,事实证明,我正在使用32位版本的MinGW和64位版本的glfw。将PATH变量更改为64位版本的MinGW修复了它。 – Jespertheend