Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сборка glut-3.7, ошибки при сборке 
V
    Опции темы
anatox91
Дата 28.6.2009, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



при попытке сборке glut-3.7 (на этапе make) вываливается несколько ошибок:
Код

gcc -o test21 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fno-strict-aliasing      -L/usr/lib64   test21.o ../../lib/glut/libglut.a -lGLU -lGL -lXmu -lXt -lSM -lICE -lXext -lX11 -lXi -lXext -lX11 -lm                                                                                 
../../lib/glut/libglut.a(glut_vidresize.o): In function `glutVideoPan':                 
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:221: undefined reference to `glXChannelRectSyncSGIX'                                                                         
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:224: undefined reference to `glXChannelRectSGIX'                                                                             
../../lib/glut/libglut.a(glut_vidresize.o): In function `glutVideoResize':
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:199: undefined reference to `glXChannelRectSyncSGIX'
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:202: undefined reference to `glXChannelRectSGIX'
../../lib/glut/libglut.a(glut_vidresize.o): In function `glutVideoResizeGet':
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:97: undefined reference to `glXQueryChannelDeltasSGIX'
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:141: undefined reference to `glXQueryChannelRectSGIX'
../../lib/glut/libglut.a(glut_vidresize.o): In function `glutStopVideoResizing':
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:181: undefined reference to `glXBindChannelToWindowSGIX'
../../lib/glut/libglut.a(glut_vidresize.o): In function `glutSetupVideoResizing':
/home/xine/libs/glut-3.7/lib/glut/glut_vidresize.c:167: undefined reference to `glXBindChannelToWindowSGIX'
collect2: ld returned 1 exit status
make[2]: *** [test21] Ошибка 1
make[2]: Leaving directory `/home/xine/libs/glut-3.7/test/glut'
make[1]: *** [all] Ошибка 2
make[1]: Leaving directory `/home/xine/libs/glut-3.7/test'
make: *** [all] Ошибка 2


видимо не хватает какой-то библиотеки (GLX ?), однако я не в курсе где ее достать (в менеджере пакетов ничего подобного не нашел)


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
anatox91
Дата 28.6.2009, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



ради интереса также попробовал собрать пример из книги с использованием OpenGL и GLUT, вывалилось несколько ошибок (undefined reference на несколько gl* и glut* функций), т.е. не нашлись нужные библиотеки, однако в /usr/lib и /usr/lib64 лежат какие-то библиотеки libGL, libglut. Вобщем я совсем запутался, что нужно чтобы начать программировать с использованием OpenGL? В книге про сборку библиотек практически ничего не сказано, даже не знаю что уже делать. Буду очень благодарен если кто-нибудь кинет линк на хорошую статью где объясняется как получить библиотеки для компиляции программы (т.к. нужные заголовочные файлы присутствуют, не хватает лишь библиотек)



--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
kemiisto
Дата 28.6.2009, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



anatox91, а что, нет просто готового бинарника? Зачем из сорцов собирать?

Цитата(anatox91 @  28.6.2009,  21:14 Найти цитируемый пост)
ради интереса также попробовал собрать пример из книги с использованием OpenGL и GLUT, вывалилось несколько ошибок (undefined reference на несколько gl* и glut* функций), т.е. не нашлись нужные библиотеки, однако в /usr/lib и /usr/lib64 лежат какие-то библиотеки libGL, libglut.

Тогда выложил бы код примера и строчку, которой компилишь и сообщение об ошибке. Прежде проверь вот что: после g++ надеюсь ключики а-ля -lgl -lglut указал?

Это сообщение отредактировал(а) kemiisto - 28.6.2009, 23:47


--------------------
PM MAIL WWW GTalk Jabber   Вверх
anatox91
Дата 29.6.2009, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



Цитата(kemiisto @  28.6.2009,  23:44 Найти цитируемый пост)
anatox91, а что, нет просто готового бинарника? Зачем из сорцов собирать?

та я просто не знаю как там вообще обстоят дела с этим... знаю только что нужны библиотеки а где их взять...
Цитата(kemiisto @  28.6.2009,  23:44 Найти цитируемый пост)
код примера

Код

#include <GL/gl.h>
#include <GL/glut.h>

void renderScene() {
    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
}
void setupRC() {
    glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}
int main() {
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutCreateWindow("Simple");
    glutDisplayFunc(renderScene);
    setupRC();
    glutMainLoop();
}

собственно простейший пример...


Цитата(kemiisto @  28.6.2009,  23:44 Найти цитируемый пост)
Прежде проверь вот что: после g++ надеюсь ключики а-ля -lgl -lglut указал?

я компилирую в Eclipse, на всякий случай добавлял в library paths папки /usr/lib и /usr/lib64, но не помогло

Добавлено @ 03:07
попробовал скомпилить из командной строки:
Код

g++ -o opengl_test -lgl -lglut main.cpp
/usr/lib64/gcc/x86_64-suse-linux/4.3/../../../../x86_64-suse-linux/bin/ld: cannot find -lgl
collect2: ld returned 1 exit status


Добавлено через 13 минут и 50 секунд
хм... скомпилилось когда сделал так:
Код

g++ -o opengl_test -L/usr/lib64 -lglut main.cpp

однако при запуске программы:
Код

freeglut  ERROR:  Function <glutCreateWindow> called without first calling 'glutInit'.

Возможно эта ошибка из-за того что используется freeglut, а не просто glut как в примере в книге?
В учебнике рассматривается "обычный" GLUT, но скачав его с оффсайта я не могу его собрать, ошибки выше уже приводил. Или можно где-то достать готовые бинарники?

Это сообщение отредактировал(а) anatox91 - 29.6.2009, 03:07


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
kemiisto
Дата 29.6.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(anatox91 @  29.6.2009,  01:00 Найти цитируемый пост)
я компилирую в Eclipse, на всякий случай добавлял в library paths папки /usr/lib и /usr/lib64, но не помогло

Я бог его знает, что это за настройка. Вот когда ты g++ ключики -L и -l подкидываешь, ты фактически с линкером (ld) общаешься. -larchive добавляет соотв. archive file (*.a), а -Lsearchdir добавляет папку для поиска этих файлов. Вручную получилось, значит Eclipse что-то другое имеет ввиду. smile 

Цитата(anatox91 @  29.6.2009,  01:00 Найти цитируемый пост)
Возможно эта ошибка из-за того что используется freeglut, а не просто glut как в примере в книге?

На работе проверю.

Цитата(anatox91 @  29.6.2009,  01:00 Найти цитируемый пост)
В учебнике рассматривается "обычный" GLUT, но скачав его с оффсайта я не могу его собрать, ошибки выше уже приводил. Или можно где-то достать готовые бинарники?

Дай-ка ссылку на этот офф. сайт.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
anatox91
Дата 29.6.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



http://www.opengl.org/resources/libraries/...t_downloads.php

туда ведет первая же ссылка в гугле по запросу "glut"


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
kemiisto
Дата 29.6.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(anatox91 @  29.6.2009,  09:25 Найти цитируемый пост)
туда ведет первая же ссылка в гугле по запросу "glut" 

Это понятно. А что конкретно скачал? 

Но это не суть. Теперь всё более-менее ясно. Ты читаешь неправильную книгу. Кстати, что за букварь? Должно быть как-то так:
Код

#include <GL/glut.h>

void renderScene() 
{
    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
}
void setupRC() 
{
    glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}

int main(int argc, char **argv) 
{
    // initialize glut
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutCreateWindow("Simple");
    glutDisplayFunc(renderScene);
    setupRC();
    glutMainLoop();
}

О чём тебе и сигнализировала прога - нет вызова glutInit.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
anatox91
Дата 29.6.2009, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



так заработало, а есть ли какие-то отличия freeglut от glut ? просто если я дальше буду по той же книге писать, могут ли быть какие-то еще проблемы? 

Цитата(kemiisto @  29.6.2009,  11:40 Найти цитируемый пост)
А что конкретно скачал? 

glut-3.7.tar.gz (самая первая ссылка на скачивание)

Цитата(kemiisto @  29.6.2009,  11:40 Найти цитируемый пост)
Кстати, что за букварь?

называется довольно громко ) 
"OpenGL. Суперкнига" 2006 года, вроде не старая, пока что лучшее что нашел


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
kemiisto
Дата 29.6.2009, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(anatox91 @  29.6.2009,  11:10 Найти цитируемый пост)
называется довольно громко )

Нормальная книга, но мне больше по душе Девис, Нейдер, Шрайнер - OpenGL Руководство по программированию. Это перевод OpenGL "Red Book".

Цитата(anatox91 @  29.6.2009,  11:10 Найти цитируемый пост)
glut-3.7.tar.gz (самая первая ссылка на скачивание)

Хм... Это оригинальная реализация, основанная на X Window System. Чтоб его собрать нужен GLX. Видимо, на его отсутствие и ругается make. Но, собирать этот оригинальный GLUT, ИМХО, незачем. Юзай freeglut.

Цитата(anatox91 @  29.6.2009,  11:10 Найти цитируемый пост)
а есть ли какие-то отличия freeglut от glut ?

Ну, по идее freeglut - просто напросто свободная реализация GLUT. Тут я бы скорее, говорил об отличиях разных реализаций. Твой пример расчитан на Windows-реализацию GLUT. Но, отличий бы быть не должно. А тот код из книги, он на Windows то скомпилируется ли?

Цитата(anatox91 @  29.6.2009,  11:10 Найти цитируемый пост)
просто если я дальше буду по той же книге писать, могут ли быть какие-то еще проблемы?

Забудь про GLUT, используй Qt! О как, даже в рифму! smile Как вариант...


--------------------
PM MAIL WWW GTalk Jabber   Вверх
anatox91
Дата 29.6.2009, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


программист-самоучка
**


Профиль
Группа: Участник
Сообщений: 699
Регистрация: 12.1.2008
Где: ++Украина.Крым++

Репутация: нет
Всего: 13



Цитата(kemiisto @  29.6.2009,  13:43 Найти цитируемый пост)
Но, собирать этот оригинальный GLUT, ИМХО, незачем. Юзай freeglut.

я уже тоже так думаю, так и проще будет ) надеюсь различий в API нет?

Цитата(kemiisto @  29.6.2009,  13:43 Найти цитируемый пост)
А тот код из книги, он на Windows то скомпилируется ли?

пишут что примеры должны работать под всеми основными системами (linux, mac, windows), но проверить под виндой нет возможности )

Цитата(kemiisto @  29.6.2009,  13:43 Найти цитируемый пост)
Забудь про GLUT, используй Qt!

итак юзаю ) просто раз в книге он используется заодно посмотрю что это такое


--------------------

The code is the design ©

Sony VAIO VGN-FW480J

user posted image
PM MAIL ICQ   Вверх
kemiisto
Дата 29.6.2009, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 1
Всего: 160



Цитата(anatox91 @  29.6.2009,  14:15 Найти цитируемый пост)
надеюсь различий в API нет?

Я не думаю. Может просто несколько устаревший код.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.1013 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.