2012-02-17 5 views

ответ

3

Если у вас есть «неопределенная ссылка», вы должны проверить, связаны ли вы с вашими библиотеками!

Компиляция с флагом «-l» или, если вы используете -for instance- eclipse, перейдите в: project-> propreties-> C++ Build-> Settings-> GCC C++ Linker-> Библиотеки и добавьте свою библиотеку!

3

Вам нужно поместить библиотеки OpenGL и GLU в свой объект, директива'include 'не является библиотекой, а просто ссылкой на то, что библиотека может вам сделать. Библиотеки имеют расширение .so на linux, .dylib на MacOS и .dll/.lib на окнах, вам нужно сообщить нам, что вы используете для компиляции (MinGW, VisualStudip, QtCreator), а также сообщить нам, какие библиотеки вы связываете с. для OpenGL в linux есть -lGL, в windows -lOpenGL32.

+0

Большое спасибо за ответ. Я компилирую с QtCreator в Linux. Использование свободного перенасыщения. Я не думаю, что я использую -lGL вариант, когда добавление его в make не помогло мне. но я обнаружил, что он отлично работает с glOrtho – Tharanga

0

Следуйте этим двум шагам, если вы используете окна.

  1. Добавить #include <QtOpenGL> в ваш .h-файл класса.
  2. Добавить QT += opengl в ваш .pro-файл.
0

Включить все эти библиотеки: Примера: Здесь new2.cpp является основным с файлом ++ и Output.out представляет собой исполняемый файл, который создается путем компиляции файла new2.cpp в г ++ компилятор. И я также включил библиотеки с -I и связал их с -l. Наконец, я выполнил результат, выполнив ./Output.out

mandeep @ mandeep-HP: ~/Desktop $ g ++ new2.cpp -o Output.out -I/usr/include/GL -I/usr/lib -lGL -lglut -lGLU mandeep @ mandeep-HP: ~/Desktop $ ./Output.out

Смежные вопросы