PDA

View Full Version : DevC++ utilizzo delle OpenGL


Synchra
16-12-2005, 23:02
Salve, avrei bisogno di una mano, ho appena installato devc++ 4.9.9.2 ma non so come fare ad utilizzare le Glut!
Ho scaricato i tre seguenti files
glut-3.7.3-dlls.zip
glut-3.7.6-bin.zip
glut-3.7.6-src.zip
Quale devo usare? Come si usano?
Grazie a tutti!

^TiGeRShArK^
16-12-2005, 23:07
boh... mai usate..
ma ad occhio direi che devi usare le dll....
cmq un okkiata ai bin la darei pure nn si sa mai c'è qualke pezzo aggiuntivo boh....
le src invece contengono i sorgenti.... ti potrebbero tornare utile in caso di debug forse...

GordonFreeman
16-12-2005, 23:37
in che sistema operativo sei?
se sei sotto windows,devi avere i seguenti file .dll e .lib,quelli .lib devi linkarli
(se non hai i .lib forse hai i .a e magari il loro nome è preceduto da "lib",esempio opengl32.lib sarà libopengl32.a,è lo stesso)

kernel32
user32
gdi32
opengl32
glu (o glu32??)
glut
glut32

e poi includi i file header

windows.h
gl.h
glu.h
glut.h

le dll le dovresti trovare nel primo zip che hai riportato,gli header nel terzo zip,e i .lib o .a forse sono nel secondo zip

Synchra
16-12-2005, 23:43
Uso windows XP, il file glut-3.7.3-dlls.zip contiene i seguenti files:
glut32.lib
glut32.dll
glut.h

Che da quello che ho capito dovrebbero essere i files che mi servono, purtroppo non ho capito come devo fare ad usarli con devc++! Potresti spiegarmi quello che devo fare passo per passo? Sono ancora un principiante!
Grazie!

GordonFreeman
17-12-2005, 00:08
Uso windows XP, il file glut-3.7.3-dlls.zip contiene i seguenti files:
glut32.lib
glut32.dll
glut.h

Che da quello che ho capito dovrebbero essere i files che mi servono, purtroppo non ho capito come devo fare ad usarli con devc++! Potresti spiegarmi quello che devo fare passo per passo? Sono ancora un principiante!
Grazie!

allora,intanto devi includere il file glut.h come faresti con qualsiasi header,cioè scrivi #include nel sorgente
poi,copia il glut32.dll nella stessa cartella dove ci sarà il tuo eseguibile compilato
infine,vai nel menu mi sembra in project options/settings...

e dovresti vedere una finestra in cui puoi specificare in maniera visuale i file .obj e .lib/.a per il linker...ci dovrebbe essere un pulsante che ti apre una finestra di explorer per cercare i file

ok,scegli il file glut32.lib

non so dirti bene dove sia quest'opzione nel menu,è da tanto che non uso devc++...prova a smanettare nel menu

Synchra
17-12-2005, 00:40
Il file glut.h l'ho incluso ma non so in quale cartella devo posizionarlo. Il menù "progetto" -> "opzioni progetto" è disattivato poichè sto lavorando su un file .c e non con un progetto composto da più files. Se provo a compilare mi da tutti errori di tipo

[linker error]undefined reference to '...'

E dovuto al fatto che non ho impostato glut32.lib?
Non c'è una cartella del devc++ dove posso copiarlo in modo che lui lo riconosca automaticamente come libreria?
Grazie!

kk3z
17-12-2005, 12:47
Nella cartella del dev-cpp c'è una cartella include dove puoi creare una cartella e inserire gli header di glut, per esempio crei la cartella "glut", incolli tutti gli header e dal file da cui devi includerli fai (per esempio):
#include <glut/glut.h>

Stessa cosa per i file .lib o .a (credo che dev-cpp o mingw compili solo con i file lib*.a e non i file *.lib): incollali nella cartella "lib" e nelle opzioni del linker inserisci il nome del file .lib o .a senza estensioni e senza "lib" e con un -l davanti:
per esempio libglut32.a diventa -lglut32, glut32.lib diventa -lglut32

A meno che tu non voglia usare il compilatore dalla riga di comando è meglio usare un progetto per includere librerie: tutte le spiegazioni sopra richiedono l'uso di un progetto.

Synchra
22-12-2005, 22:10
Ho fatto come hai detto ma non riesco a trovare il file lib*.a , le glut che ho scaricato contengono solo il file glut32.lib . Come posso fare? C'è un modo per convertire un file .lib in .a ?

Synchra
24-12-2005, 12:32
Ho trovato i file libglut32.a e libopengl32.a ed ho fatto tutto come mi avete detto... o quasi, visto che ancora non va!
Probabilmente ho sbagliato qualcosa, questi sono i messaggi di errore che mi vengono quando cerco di compilare:

resolving __imp__glBindTexture by linking to __imp__glBindTexture@8
[Linker error] undefined reference to `__glutInitWithExit'
[Linker error] undefined reference to `__glutCreateWindowWithExit'
[Linker error] undefined reference to `__glutCreateMenuWithExit'

... segue una serie di [Linker error] undefined reference to ' ... '

ld returned 1 exit status
[Build Error] [rusty.exe] Error 1

Dove ho sbagliato? :mbe:

Per quanto riguarda l'importazione delle librerie ecco cosa ho messo su:

PROGETTO-> OPZIONI PROGETTO -> PARAMETRI -> LINKER

-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lglut32 -lopengl32
../../../../../../Programmi/Dev-Cpp/lib/libopengl32.a
../../../../../../Programmi/Dev-Cpp/lib/libglut32.a

Vi prego datemi una mano!
Grazie!

PS: Buon natale a tutti! ;)