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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: проблемы при компиляции  (Прочитано 7060 раз)

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

Оффлайн EmperorXXX

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
проблемы при компиляции
« : 08 Июля 2009, 23:48:09 »
набрал код по учебнику пытаюсь скомпилить выдает ошибку если кто в курсе подскажите как от нее избавить
#include </usr/include/GL/gl.h>
#include </usr/include/GL/glut.h>

void RenderScene(void)
{   
    glClear(GL_COLOR_BUFFER_BIT);
    glRectf(-25.0f,25.0f,25.0f,-25.0f);   
    glFlush();
}


void SetupRC(void)
{
    glClearColor(0.0f,0.0f,1.0f,1.0f);
}

void ChangeSize(GLsizei w,GLsizei h)
{
    GLfloat aspectRatio;
    if(h==0)
        h=1;
    glViewport(0,0,w,h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    aspectRatio=(GLfloat)w/(GLfloat)h;
    if(w<=h)
        glOrtho(-100.0,100.0,-100/aspectRatio,100.0/aspectRatio,1.0,-1.0);
    else
        glOrtho(-100.0*aspectRatio,100.0*aspectRatio,-100.0,100.0,1.0,-1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}

void tmain(void)
{
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA);
    glutCreateWindow("Simple");
    glutDisplayFunc(RenderScene);
    glutReshapeFunc(ChangeSize);
    SetupRC();
    glutMainLoop();
}

error: collect2: выполнение ld завершилось с кодом возврата 1

Оффлайн dmay

  • Старожил
  • *
  • Сообщений: 1084
  • man google, кому сказал!
    • Просмотр профиля
Re: проблемы при компиляции
« Ответ #1 : 08 Июля 2009, 23:49:30 »
удали ЭТУ тему ^.^
та пусть живёт )
Ты попал в мою коллекцию криворуких тупых нубов!

Оффлайн Sova777

  • Участник
  • *
  • Сообщений: 208
    • Просмотр профиля
    • Несколько слов о NetBeans C/C++ Pack'е
Re: проблемы при компиляции
« Ответ #2 : 09 Июля 2009, 01:45:32 »
Плохая книга.

"void tmain(void)" скорее всего нужно заменить на "int main()"
Линкёру нужно передать какие-то опции. Что-то типа "-lglut -lGL"
Пользователь OpenSolaris 2008.11, Ubuntu 8.10, Windows XP. Mac OS X не нравится, стараюсь не использовать.

Оффлайн EmperorXXX

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: проблемы при компиляции
« Ответ #3 : 09 Июля 2009, 11:08:56 »
пробовал int main(void) не помогло вот кстате что пишет линкер
Running build steps for project simple...
Creating gdb macros library...
Starting: /usr/bin/qmake-qt4 /home/anton/simple/simple.pro -spec /usr/share/qt4/mkspecs/linux-g++ -r CONFIG+=debug_and_release CONFIG+=debug
Exited with code 0.
Starting: /usr/bin/make debug -w
make: Вход в каталог `/home/anton/simple'
/usr/bin/make -f Makefile.Debug
make[1]: Вход в каталог `/home/anton/simple'
g++  -o simple debug/main.o    -L/usr/lib -L/usr/X11R6/lib -lQtOpenGL -lQtGui -lQtCore -lGLU -lGL -lpthread
make[1]: Выход из каталога `/home/anton/simple'
make: Выход из каталога `/home/anton/simple'
/usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../../lib/crt1.o: In function `_start':
/build/buildd/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:109: undefined reference to `main'
collect2: выполнение ld завершилось с кодом возврата 1
make[1]: *** [simple] Ошибка 1
make: *** [debug] Ошибка 2
Exited with code 2.
Error while building project simple
When executing build step 'Make'

Оффлайн Sova777

  • Участник
  • *
  • Сообщений: 208
    • Просмотр профиля
    • Несколько слов о NetBeans C/C++ Pack'е
Re: проблемы при компиляции
« Ответ #4 : 09 Июля 2009, 14:26:19 »
Загадочно. Может проблема с 64-битностью. Попробуй:
1) заменить "-L/usr/lib -L/usr/X11R6/lib" на "-L/usr/lib64 -L/usr/X11R6/lib64"
2) убрать их вообще
3) собрать программу в консоли (без всяких Qt) коммандой "g++  -o simple main.cpp  -lGLU -lGL -lpthread"
Пользователь OpenSolaris 2008.11, Ubuntu 8.10, Windows XP. Mac OS X не нравится, стараюсь не использовать.

Оффлайн EmperorXXX

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: проблемы при компиляции
« Ответ #5 : 09 Июля 2009, 22:47:41 »
попробовал вот что написал в консоле
/tmp/ccXzNC1i.o: In function `main':
main.cpp:(.text+0x16e): undefined reference to `glutInitDisplayMode'
main.cpp:(.text+0x178): undefined reference to `glutCreateWindow'
main.cpp:(.text+0x182): undefined reference to `glutDisplayFunc'
main.cpp:(.text+0x18c): undefined reference to `glutReshapeFunc'
main.cpp:(.text+0x196): undefined reference to `glutMainLoop'
collect2: выполнение ld завершилось с кодом возврата 1

Оффлайн Sova777

  • Участник
  • *
  • Сообщений: 208
    • Просмотр профиля
    • Несколько слов о NetBeans C/C++ Pack'е
Re: проблемы при компиляции
« Ответ #6 : 09 Июля 2009, 23:05:39 »
Каюсь. Моя ошибка. Забыл "-lglut" опцию. Соответсвенно:  "g++  -o simple main.cpp  -lGLU -lGL -lglut -lpthread"
Пользователь OpenSolaris 2008.11, Ubuntu 8.10, Windows XP. Mac OS X не нравится, стараюсь не использовать.

Оффлайн Garfeild

  • Активист
  • *
  • Сообщений: 744
    • Просмотр профиля
Re: проблемы при компиляции
« Ответ #7 : 09 Июля 2009, 23:10:33 »
А разве не -lgl и -lglut нужно использовать?

Оффлайн digiwhite

  • Активист
  • *
  • Сообщений: 732
  • http://www.welinux.ru
    • Просмотр профиля
    • http://www.welinux.ru
Re: проблемы при компиляции
« Ответ #8 : 10 Июля 2009, 16:36:32 »
И еще по main, наверное стоит лучше писать вот так:
int main(int argc, char* argv[]) {
    /*
     *   Много много вашего кода
     *
     */

    return 0; /* Или EXIT_SUCCESS */
}
.

Социальная сеть не фанатично настроенных Linuxойдов - http://www.welinux.ru

 

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