Здравствуйте! Сегодня решил я написать проект на OpenGL под Linux. Установил glut, компилятор gcc, написал код, компилирую так: g++ -lm -o /home/max/Проекты/SkyBox_OpenGL/gl /home/max/Проекты/SkyBox_OpenGL/main.cpp -lglut -IGL -IGLEW -IGLU и...
/usr/bin/ld: /tmp/ccX6VEum.o: неопределённая ссылка на символ «glClear»
//usr/lib/i386-linux-gnu/mesa/libGL.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Я пробовал разобраться в чём дело, читал разные статьи в интернете, но так ничего и не понял. Я думаю, что если компилятор ругается на код, то ошибка в коде, вот кстати он:
Я уже много раз пересматривал этот код, но как-то в нём не вижу ошибки. Вроде всё правильно.
В общем, пожалуйста можете объяснить, как это всё откомпилировать?
/usr/bin/ld: /tmp/ccX6VEum.o: неопределённая ссылка на символ «glClear»
//usr/lib/i386-linux-gnu/mesa/libGL.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Я пробовал разобраться в чём дело, читал разные статьи в интернете, но так ничего и не понял. Я думаю, что если компилятор ругается на код, то ошибка в коде, вот кстати он:
:
#include <GL/freeglut.h>
#include <GL/gl.h>
#include <GL/glu.h>
void renderFunction();
int main(int argc, char** argv){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow("SkyBox");
glutDisplayFunc(renderFunction);
glutMainLoop();
return 0;
}
void renderFunction(){
glClearColor(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
В общем, пожалуйста можете объяснить, как это всё откомпилировать?