The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"OpenGL+FreeBSD+gcc HELP!"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Библиотеки, функции)
Изначальное сообщение [ Отслеживать ]

"OpenGL+FreeBSD+gcc HELP!"  +/
Сообщение от Aunque (ok) on 08-Май-10, 08:42 
При попытке скомпили абсолютно верно написанную прогу (я списал из учебника) с помощью
gcc -o test test.c получаю

/var/tmp//ccjOzaU0.o(.text+0x72): In function `Display':
: undefined reference to `glClearColor'
/var/tmp//ccjOzaU0.o(.text+0x7e): In function `Display':
: undefined reference to `glClear'
/var/tmp//ccjOzaU0.o(.text+0x9a): In function `Display':
: undefined reference to `glColor3ub'
и т.д. по всем функциям. Если пишу

gcc -o test test.c -lglut //Как и lGLUT
получаю
/usr/bin/ld: cannot find -lglut
Что делать?...
Спасибо тем кто откликнется!

Вот текст первой проги из учебника Баяковский Игнатенко "Начальный курс OpenGL вдруг нужен:

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

GLint Width=512, Height =512;

const int CubeSize = 200;

void Display(void)
{
int left,right,top,bottom;

left =(Width -CubeSize)/2;
right=left+CubeSize;
bottom=(Height-CubeSize)/2;
top=bottom+CubeSize;

glClearColor(0.7,0.7,0.7,1);
glClear(GL_COLOR_BUFFER_BIT);

glColor3ub(255,0,0);
glBegin(GL_QUADS);
glVertex2f(left,bottom);
glVertex2f(right,top);
glVertex2f(right,bottom);

glEnd();

glFinish();

}

void Reshape(GLint w, GLint h)
{
Width=w;
Height=h;

glVewport(0,0,w,h);

glMatrixMode(GL_PROJECTION);
glLoadIndentity();
glOrtho(0,w,0,h,-1.0,-1.0);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

void Keyboard(unsigned char key, int x, int y)
{
const char ESCAPE='\033';

if (key==ESCAPE)
   exit(0);
}

int main(int argc, char *argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB);
glutInitWindowSize(Width, Height);
glutCreateWindow("Red_square_example");

glutDisplayFunc(Display);
glutReshapeFunc(Reshape);
glutKeyboardFunc(Keyboard);

glutMainLoop();

return 0;
}


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "OpenGL+FreeBSD+gcc HELP!"  +/
Сообщение от Vitaly_loki (ok) on 08-Май-10, 12:19 
Сама либа GLUT то установлена? Я только что простейший вращающийся куб через glut скомпилил на голой Убунте (только glut установил). Проверьте
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "OpenGL+FreeBSD+gcc HELP!"  +/
Сообщение от fsakvador (ok) on 15-Май-10, 12:05 
>Сама либа GLUT то установлена? Я только что простейший вращающийся куб через
>glut скомпилил на голой Убунте (только glut установил). Проверьте

Да, точно стоит... В папке /usr/include/GL и /usr/local/include/GL.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "OpenGL+FreeBSD+gcc HELP!"  +/
Сообщение от NuINu (??) on 15-Май-10, 14:44 
>>Сама либа GLUT то установлена? Я только что простейший вращающийся куб через
>>glut скомпилил на голой Убунте (только glut установил). Проверьте
>
>Да, точно стоит... В папке /usr/include/GL и /usr/local/include/GL.

инклюдах никакие библиотеки не лежат , а только заголовки
найдите где у вас лежат библиотеки и укажите к ним путь в параметре -L????????

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "OpenGL+FreeBSD+gcc HELP!"  +/
Сообщение от fsakvador (ok) on 16-Май-10, 15:33 
>инклюдах никакие библиотеки не лежат , а только заголовки
>найдите где у вас лежат библиотеки и укажите к ним путь в
>параметре -L????????

Как называются библиотеки, то есть что именно надо искать? Если на find / -name libglut / lglut ничего не находится то значит они не стоят? Тогда почему при попытке установить из портов libglut пишет что уже есть. Я не понимаю...

З.Ы. Спасибо что быстро отвечаете я и не ожидал что здесь так оперативно все :)

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "OpenGL+FreeBSD+gcc HELP!"  +/
Сообщение от jd (??) on 17-Май-10, 03:47 
Файлы библиотеки называются libglut.a (статическая) и libglut.so, libglut.so.<версия> (динамическая). Настоятельно рекомендую почитать, как в UNIX системах происходит компиляция, линковка и запуск программ. Вопросы, которые вы задаёте, показывают, что вы не знакомы с самыми базовыми вещами. С таким подходом у вас на каждом шагу будут возникать совершенно ненужные вопросы.

P.S. Помимо GLUT вам понадобятся и другие библиотеки. В частности сама GL и др.

P.P.S. У вас там в коде две опечатки. Используйте ключ -Wall при компиляции - это сильно облегчит вам жизнь.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "OpenGL+FreeBSD+gcc HELP!"  +/
Сообщение от Lud email(??) on 29-Июл-11, 18:22 
Уважаемый коллега.
Там две опечатки в тексте
loadIn верно Id...
и выше
glWe надо glWie
#gcc -Wall -pedantic -o test.cpp -lGL -lGLU -lglut -I/usr/X11R6/include -L/usr/X11R6/lib/
test
Воттак компилируется в Slackware 11.
Но скорей всего Вы тоже чайник так как эти моменты заметны Там опечатки само собой
но параметры подбираются-могут по разному быть Slackware - самая лучшая ОС и еще FreeBSD
я пробовал примеры из Борескова то в slackware только мэйки поправил а систему как поста
вил ничего не менял а в других месяц никак не мог скомпилировать Хорошая книга Борескова
Расширения OpenGL
С уважением Сергей
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру