Форум программистов, компьютерный форум CyberForum.ru

Компиляция кода Freeglut - C++

Войти
Регистрация
Восстановить пароль
 
MaksimZh
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 5
26.03.2013, 13:44     Компиляция кода Freeglut #1
Здравствуйте. Стоит Ubuntu 12.10, компилятор g++ , библиотеку freeglut поставил из репозитория, после чего инклуды появились нужном месте в g++( то есть в /usr/include ), компилирую этот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <GL/freeglut.h>
void display()
{
  glClear(GL_COLOR_BUFFER_BIT);
  glBegin(GL_LINES);
  glColor3f(1.0, 0.0, 0.0);
  glVertex2f(0.25, 0.25);
  glVertex2f(0.75, 0.75);
  glColor3f(0.0, 1.0, 0.0);
  glVertex2f(0.75, 0.25);
  glVertex2f(0.25, 0.75);
  glColor3f(0.0, 0.0, 1.0);
  glVertex2f(0.50, 0.25);
  glVertex2f(0.50, 0.75);
  glEnd();
  glFlush();
}
 
int main(int argc, char **argv)
{
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  glutInitWindowSize(240, 240);
  glutInitWindowPosition(100, 740);
  glutCreateWindow("Test");
  glClearColor(1.0, 1.0, 1.0, 1.0);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity();
  glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
  glutDisplayFunc(display);
  glutMainLoop();
}
после чего получаю это:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/tmp/ccmVAZvW.o: In function `display()':
cp.cpp:(.text+0xe): undefined reference to `glClear'
cp.cpp:(.text+0x1a): undefined reference to `glBegin'
cp.cpp:(.text+0x39): undefined reference to `glColor3f'
cp.cpp:(.text+0x4f): undefined reference to `glVertex2f'
cp.cpp:(.text+0x65): undefined reference to `glVertex2f'
cp.cpp:(.text+0x84): undefined reference to `glColor3f'
cp.cpp:(.text+0x9a): undefined reference to `glVertex2f'
cp.cpp:(.text+0xb0): undefined reference to `glVertex2f'
cp.cpp:(.text+0xcf): undefined reference to `glColor3f'
cp.cpp:(.text+0xe5): undefined reference to `glVertex2f'
cp.cpp:(.text+0xfb): undefined reference to `glVertex2f'
cp.cpp:(.text+0x100): undefined reference to `glEnd'
cp.cpp:(.text+0x105): undefined reference to `glFlush'
/tmp/ccmVAZvW.o: In function `main':
cp.cpp:(.text+0x122): undefined reference to `glutInit'
cp.cpp:(.text+0x12e): undefined reference to `glutInitDisplayMode'
cp.cpp:(.text+0x142): undefined reference to `glutInitWindowSize'
cp.cpp:(.text+0x156): undefined reference to `glutInitWindowPosition'
cp.cpp:(.text+0x162): undefined reference to `glutCreateWindow'
cp.cpp:(.text+0x18a): undefined reference to `glClearColor'
cp.cpp:(.text+0x196): undefined reference to `glMatrixMode'
cp.cpp:(.text+0x19b): undefined reference to `glLoadIdentity'
cp.cpp:(.text+0x1c5): undefined reference to `glOrtho'
cp.cpp:(.text+0x1d1): undefined reference to `glutDisplayFunc'
cp.cpp:(.text+0x1d6): undefined reference to `glutMainLoop'
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
Буду благодарен за помощь. Уже третий день мучаюсь и никак
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2013, 13:44     Компиляция кода Freeglut
Посмотрите здесь:

Отделение интерфейса от реализации класса: компиляция кода реализации C++
Компиляция кода... не могу сообразить. C++
freeglut, MinGW C++
Компиляция заданного кода в exe через программу C++
Кириллица в openGL (glut, freeglut) или (!) альтернатива C++
C++ Компиляция кода Source Engine 2013
C++ Компиляция исходного кода в работающей программе
Компиляция C++ кода через консоль C++
Загрузка исходного кода и компиляция *.exe C++
C++ Компиляция исходного кода C++ ubuntu если нет компилятора g++
Компиляция простейшего кода на C++ под GNU/Linux C++
C++ Компиляция кода с ромбовидным наследованием

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4382 / 3225 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
26.03.2013, 16:01     Компиляция кода Freeglut #2
Вероятно нужно библиотеку указать через -l, в которой определено всё, что не находит линкер.
MaksimZh
0 / 0 / 0
Регистрация: 06.01.2013
Сообщений: 5
27.03.2013, 08:05  [ТС]     Компиляция кода Freeglut #3
Цитата Сообщение от Tulosba Посмотреть сообщение
Вероятно нужно библиотеку указать через -l, в которой определено всё, что не находит линкер.
Верно, но до этого момента еще надо было много манипуляций проделать. Спасибо Вам за ответ.
Решение: качаем OpenGL тут. Далее делаем то, что написано в readme в папке Linux. Потом
Код
g++ opengl.cpp -lglut -lGL -L/home/{nameUser}/glut-3.7/lib/glut
или просто
Код
g++ opengl.cpp -lglut -lGL
Закрыто.
Yandex
Объявления
27.03.2013, 08:05     Компиляция кода Freeglut
Ответ Создать тему
Опции темы

Текущее время: 10:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru