[ Predrag Damnjanovic @ 11.03.2002. 18:09 ] @
Nesto se ovde cudno desava.
Imam RH 7.2, punu instalaciju sam izabrao.

Probam da iskompajliram obican OpenGL programcic, koji se oslanja na
GLUT, i dobijem:
[..]
/tmp/ccAKzL7p.o(.text+0x1bc): undefined reference to `glClear'
/tmp/ccAKzL7p.o(.text+0x1c4): undefined reference to `glPushMatrix'
/tmp/ccAKzL7p.o(.text+0x1dc): undefined reference to `glTranslatef'
/tmp/ccAKzL7p.o(.text+0x1f5): undefined reference to `glMaterialfv'
[..]

Istaliram ja Mesa i Mesa-devel iz RPM-a (oni sa CD-a) - iste greske
dobijam.
Skinem najnoviji Mesa, lepo prodje kompajliranje (navedem mu posle i
da koristi /usr, a ne /usr/local kao prvi put), probam da
iskompajliram primer - iste greske.

Header fajlovi su na mestu, ima ih u /usr/include/GL, ima ih i
lib-ovi, ali stvar jednostavno ne radi.
Mozda se lib-ovi ne zovu onako kako treba da se zovu?
Da napravim neke dodatne linkove, posto on vec ima 2 linka za svaki
.so fajl.
Sumnjam na ovo, mozda i nije to.

Programiram vec OpenGL na Windowsu, dobro znam sta kompajliram
[ alex @ 11.03.2002. 21:42 ] @
Mozda malkoc glupo pitanje, a da li si ulinkovao te OpenGL biblioteke u svoj program prilikom kompajliranja?

cc -o program -O2 program.c -lm -lGL -lOpenGL -lGLX -lGLU -lGLUT -I./include

i tako dalje i tako blize..

Kako si ti kompajlirao svoj program?

Poz, alex.
[ Predrag Damnjanovic @ 11.03.2002. 22:32 ] @
gcc primer.c -o primer
:)
Daj mi sintaksu za gcc, njega koristim.
[ alex @ 11.03.2002. 22:38 ] @
Hmm, naravno da nece da ti radi program jer nisi linkovao potrebne biblioteke. Upravo sam ti dao sintaksu za gcc (cc je inace symlink na gcc) ;o).

Svicem -lbiblioteka dinamicki linkujes biblioteku u svoj program.
Primer: imas biblioteku libGL.so u /usr/lib direktorijumu. Sintaksa za linkovanje je -lGL. Sasvim razumljivo.

Svic -Idirektorijum sluzi da u proces kompajliranja ukljucis i direktorijum u kome se nalaze .h fajlovi. Primer: -I/home/zastita/src/include.

Naravno, obavezno bi bilo potrebno da u svoj program ukljucis i math biblioteku (svic -lm) jer tvoj program koristi matematicke operacije ;).

Ovo je najprostije uputstvo, za komplikovanije i detaljnije pogledaj info gcc kao i man gcc.

Poz, alex.
[ Predrag Damnjanovic @ 11.03.2002. 23:03 ] @
Hvala, probacu odmah.
[ alex @ 11.03.2002. 23:04 ] @
Zaboravih jedan vrlo bitan svic:

-Ldirektorijum - u proces kompajliranja ukljucujes i direktorijum sa bibliotekama (.so) koji nije u LD_LIBRARY_PATH, sto je posebno zgodno ukoliko se razvoj radi na sistemu na kome nije moguce dobiti root-a (te je nemoguce izmeniti /etc/ld.so.conf fajl i odraditi ldconfig).

Naravno za kasnije izvrsavanje takvog programa potrebno je uraditi sledece:

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:direktorijum
$ ./program

Nadam se da sam bio od pomoci :o)

Poz, alex.
[ Predrag Damnjanovic @ 11.03.2002. 23:42 ] @
Radi! :)
Hvala ti puno.
Danas mi rodjendan (12.03) pa mi se posrecilo :)
[ Dragi Tata @ 11.03.2002. 23:52 ] @
E pa živ bio i oženio se :)
[ Predrag Damnjanovic @ 12.03.2002. 11:57 ] @
Citat:
Dragi Tata:
E pa živ bio i oženio se

Hvala