Хорошо, вот такая ситуация:
У меня есть приложение, которое использует SDL и OpenGL.Я разрабатывал его в Linux (Ubuntu 10.10), и на этой платформе он компилируется, собирается и запускается без проблем.Я хотел бы иметь возможность протестировать свое приложение в Windows, и с этой целью я пытался скомпилировать его с помощью набора инструментов MinGW.В данный момент приложение компилируется без предупреждений, но я не могу заставить его правильно связать библиотеки OpenGL.Если быть точным, я получаю следующие ошибки большое количество раз:
неопределенная ссылка на _glUseProgram@4'<br>
undefined reference to
_glDetachShader @ 8 '
неопределенная ссылка на _glDeleteProgram@4'<br>
undefined reference to
_glDeleteShader @ 4'
неопределенная ссылка на _glCreateProgram@0'<br>
undefined reference to
_glCreateShader @ 4 '
неопределенная ссылка на _glShaderSource@16'<br>
undefined reference to
_glCompileShader @ 4'
неопределенная ссылка на _glGetShaderiv@12'<br>
undefined reference to
_glGetShaderInfoLog @ 16 '
неопределенная ссылка на `` _glAttachShader @ 8'
... и т. д.
Для полноты, команда, используемая для связывания приложения:
i586-mingw32msvc-g ++ -Wall -g -DGL_GLEXT_PROTOYPES -o <output file
> <object files
> -Llib / lib -lmingw32 -lSDLmain -lSDL -mwindows -lglu32 -lopengl32 -I./include -I / usr / include -I./lib
Поиск в GoogleЯ понял, что библиотеки glu32 и opengl32 поддерживают только раннюю версию OpenGL (например, 1.1 или 1.4), и мое приложение использует функции OpenGL 3.0+, так что это моя текущая теория того, откуда возникла проблема.При этом я действительно понятия не имею, как это исправить.
Следует отметить, что я очень плохо знаком с разработкой программного обеспечения, поэтому мое понимание того, как все это работает, довольно поверхностно.