Примечание: я видел пост о человеке, имеющем эту проблему на языке Си, потому что скрипт glew.c не загружался для него, я не думаю, что это моя проблема. Следуя точным шагам на веб-сайте документации GLEW, насколько это возможно (и в которых я не увидел упоминания о требовании добавить файл с именем glew.c), я настроил glew с MinGW и извлек dll и libs в соответствующие папки еще во время компиляции я получаю это сообщение:
undefined reference to `_imp__glewInit@0`
Вот мой основной файл main.cpp:
#include <stdlib.h>
#include <iostream>
#include <windows.h>
#include <GL/glew.h>
#include <GL/glut.h>
using namespace std;
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutCreateWindow("Glew Test");
GLenum err = glewInit();
if (GLEW_OK != err)
{
cout << "Something effed up";
}
cout << "Awwwwwwwwhhhhh Yeeeeeeeaaaaah!!!";
return 0;
}
И вот мой MakeFile:
MY_LIBS = -lglut32 -lglew32 -lopengl32
glewex:
g++ -g main.cpp -o glewex $(MY_LIBS)
Есть идеи, почему я получаю эту ошибку?
Почему вы настаиваете на внешних ссылках на эту библиотеку? Это вызывает гораздо больше проблем, чем оно того стоит.
добавлять glew.c
к вашему проекту. Просто скомпилируйте его с остальными исходными файлами. До тех пор, как вы #define GLEW_STATIC
это будет работать нормально. Задача решена.
Даже если вам удастся связать его с библиотекой, вы будете привязаны к одной конкретной архитектуре / сборке / версии. Если вы просто включите glew.c
Вы сможете свободно строить проект практически где угодно.
У меня была похожая проблема. glewGetErrorString и glewInit были объявлены как неопределенные для меня. не мог отследить проблему.
потом я вспомнил, что скачал 64-битную версию glew, в то время как свободно перенасыщенный и все остальное, что я скачал, было 32-битным
так что заново скачал glew для 32 бит. и все работало отлично! надеюсь, что это поможет кому-то в будущем.