我正在使用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