Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Использование OpenGL  (Прочитано 3517 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Варавва

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Использование OpenGL
« : 07 Июня 2014, 10:42:09 »
Здравствуйте! Решил попробовать создать элементарное окно на C++ с использованием библиотеки OpenGL.

Для её установки ввел в терминале команду:
sudo apt-get install freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev mesa-common-dev
Успешно.

Далее пытаюсь скомпилировать файл window_1.cpp со  следующим кодом:
Код: (cpp) [Выделить]
#include <time.h>
#include <GL/glut.h>

void Draw( void ) {
   glClear( GL_COLOR_BUFFER_BIT );
   glColor3f( 0.0, 1.0, 0.0 );
   glBegin( GL_LINES );
   glVertex2f( 50, 50 );   glVertex2f( 50, 50 );
   glEnd();
   glFlush();
}

int main( int argc, char *argv[] ) {

   glutInit(&argc, argv);
   glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
   glutInitWindowSize( 640, 480 );
   glutInitWindowPosition( 100, 100 );
   glutCreateWindow( "GL Demo" );
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   gluOrtho2D(0,640,0,480);
   
   glutDisplayFunc( Draw );
   glClearColor( 0, 0, 0, 0 );
   glutMainLoop();
   return 0;
}
При помощи команды в терминале:
g++ window_1.cpp -o window_1 -lX11 -lglut
На что компилятор выдает следующую ошибку:
/usr/bin/ld: /tmp/cceLOjZz.o: неопределённая ссылка на символ «glMatrixMode»
//usr/lib/i386-linux-gnu/mesa/libGL.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

Ubuntu поставил месяц назад и ещё плохо разбираюсь. Буду признателен за любую помощь. Здравствуйте! Решил попробовать создать эл

Правила форума
Цитата: Правила форума
1.4. Листинги и содержимое текстовых файлов следует добавлять в сообщение с помощью тега [spоiler]...[/spоiler], либо прикреплять к сообщению в виде отдельного файла.
И да, сообщение допиши.
--peregrine
« Последнее редактирование: 08 Июня 2014, 00:14:23 от peregrine »

Оффлайн Delit

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Использование OpenGL
« Ответ #1 : 07 Июня 2014, 22:33:25 »
А разве -lGL добавлять не надо?

Оффлайн Варавва

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Использование OpenGL
« Ответ #2 : 08 Июня 2014, 12:13:31 »
Попробовал. В итоге получил ответ:
~/c++$ g++ window_1.cpp -o window_1 -lGL -lX11 -lglut
/tmp/cc7qjPCf.o: In function `main':
window_1.cpp:(.text+0x101): undefined reference to `gluOrtho2D'
collect2: error: ld returned 1 exit status

Оффлайн Карасик

  • Участник
  • *
  • Сообщений: 165
  • Kubuntu 23.10 amd64
    • Просмотр профиля
Re: Использование OpenGL
« Ответ #3 : 08 Июня 2014, 14:46:06 »
Функция gluOrtho2D входит в библиотеку libGLU, поэтому надо добавить в командную строку ещё и -lGLU

Оффлайн Варавва

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Использование OpenGL
« Ответ #4 : 12 Июня 2014, 09:47:21 »
Окно запустилось! Спасибо огромное!)

 

Страница сгенерирована за 0.017 секунд. Запросов: 22.