Nowe posty

Autor Wątek: Kompilacja programu w OpenGL  (Przeczytany 8229 razy)

kamzor

  • Gość
Kompilacja programu w OpenGL
« dnia: 2010-01-06, 15:06:53 »
Witam!

Do skompilowania programu używającego OpenGL i biblioteki GLUT należy użyć takiego polecenia:
gcc program.cpp -o program -I/usr/X11R6/include/ -L/usr/X11R6/lib -lX11  -lXmu -lglut -lGL -lGLU
Czy może mi ktoś wytłumaczyć co dokładnie ono robi, nie odsyłając mnie do "man gcc"?

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Kompilacja programu w OpenGL
« Odpowiedź #1 dnia: 2010-01-06, 18:38:55 »
Nie, no poważnie: man gcc.
Dziś jestem w dobrym nastroju:
* -o plik sprawia, że wynik kompilacji jest w pliku plik a nie a.out,
* -Ikatalog (duże i) sprawia, że kompilator będzie szukał plików include w podanej ścieżce,
* -Lkatalog sprawia, że linker będzie szukał bibliotek statycznych w podanej ścieżce
* -lnazwa (małe L) sprawia, że linker dołączy do pliku wykonywalnego wskazane biblioteki statyczne.

Proszę się nie sugerować "bibliotekami statycznymi", bo często jest to tylko tzw stub odwołujący się w rzeczywistości do biblioteki dynamicznej (*.so).
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy

kamzor

  • Gość
Kompilacja programu w OpenGL
« Odpowiedź #2 dnia: 2010-01-06, 19:49:14 »
Dzięki.

Ale oprócz szukania nagłówków w podanej ścieżce to również sprawdza domyślą? (np. w celu znalezienia stdlib.h)

micu

  • Gość
Kompilacja programu w OpenGL
« Odpowiedź #3 dnia: 2010-01-07, 11:25:24 »
Cytat: kamzor
Ale oprócz szukania nagłówków w podanej ścieżce to również sprawdza domyślą? (np. w celu znalezienia stdlib.h)
Tak, o ile nie ma przełącznika '-nostdinc' lub '-nostdinc++' ( man gcc :-))) )

kamzor

  • Gość
Kompilacja programu w OpenGL
« Odpowiedź #4 dnia: 2010-01-08, 15:55:14 »
-lX11  -lXmu -lglut -lGL -lGLU
Te ostatnie trzy to prawdopodobnie biblioteki glut, glu i gl.. A te dwie pierwsze to do czego służą?

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 3056
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
Kompilacja programu w OpenGL
« Odpowiedź #5 dnia: 2010-01-09, 18:52:54 »
Wzdeh...

libXmu provides a set of miscellaneous utility convenience functions for X
libraries to use.  libXmuu is a lighter-weight version that does not depend
on libXt or libXext; for more information, see libxmuu1.

libX11 package provides a client interface to the X Window System, otherwise
known as 'Xlib'.  It provides a complete API for the basic functions of the
window system.
Paweł Kraszewski
~Arch/Void/Gentoo/FreeBSD/OpenBSD/Specjalizowane customy