Почему моя программа не может связаться? - PullRequest
2 голосов
/ 17 ноября 2010

Я делаю программу opengl и нашел пример, который делает то, что я хочу, но когда я пытаюсь скомпилировать его, используя gcc -o picksquare picksquare.c -lglut, я получаю:

/tmp/cchE9Z0Y.o: In function `pickSquares':
picksquare.c:(.text+0x41d): undefined reference to `gluPickMatrix'
picksquare.c:(.text+0x442): undefined reference to `gluOrtho2D'
/tmp/cchE9Z0Y.o: In function `reshape':
picksquare.c:(.text+0x508): undefined reference to `gluOrtho2D'
collect2: ld returned 1 exit status

И пример кодаздесь: http://www.opengl.org/resources/code/samples/redbook/picksquare.c

Спасибо за ваш ответ, ребята, но при вызове -lglu говорится, что он не может найти glu, а при вызове -lGL выдается та же неопределенная ссылка.Что это за глу?Кто-нибудь знает?

Ответы [ 5 ]

2 голосов
/ 12 марта 2011

Попробуйте:

gcc filename_here -lglut -lGLU

Это должно работать нормально.Последнее слово в предложении выше lGLU (не один, а l для льва).

1 голос
/ 17 ноября 2010

Поскольку вы вызываете функции в библиотеке GLU (которая не совпадает с GLUT), без ссылки на нее.

Добавьте -lglu в командную строку.

Примечаниечто при сбое функций в качестве префикса используется glu, а не glut.

Если при добавлении -lglu выдается новая ошибка, это может означать, что в вашей системе разработки не установлена ​​библиотека GLU.Это необязательная библиотека, независимая от OpenGL, поэтому, поскольку вы установили поддержку разработки для OpenGL, нет гарантии, что она у вас есть и для GLU.

0 голосов
/ 17 ноября 2010

Хорошо, обнаружил проблему, я не добавлял библиотеку glu в компилятор gcc, addind '-lGLU' решил проблему.Спасибо в любом случае, ребята !!

0 голосов
/ 17 ноября 2010

AFAIK, для gluOrtho2D & co. вам нужно связать с libGL, что означает, что вы должны добавить переключатель -lGL в командной строке.

0 голосов
/ 17 ноября 2010

Похоже, у вас не установлены необходимые библиотеки или , вам нужно указать свой LD_LIBRARY_PATH в правильном месте, чтобы подобрать libglut.so.

...