View Full Version : [Opengl] problemi
Salve, e da 3 giorni che ho iniziato a studiare opengl ma non riesco a capire come installare nel visual studio 2005 le librerie, poi non saprei neanche dove poterle scaricare:mc: dato che debbo creare delle forme geometriche colorate .
variabilepippo
05-10-2007, 17:20
Quali librerie? Visual C++ 2005 ha in dotazione le librerie OpenGL di base, ti riferisci forse alle GLUT?
Molti si sono avvicinati ad OpenGL grazie a questi tutorial (http://nehe.gamedev.net/).
Hai incluso i seguenti header?
#include <windows.h> // Header File For Windows
#include <gl\gl.h> // Header File For The OpenGL32 Library
#include <gl\glu.h> // Header File For The GLu32 Library
#include <gl\glaux.h> // Header File For The GLaux Library
Hai aggiunto le librerie openGL32.lib, GLu32.lib e GLaux.lib nelle impostazioni del linker?
openGL32.lib, GLu32.lib e GLaux.lib
no non le ho inserite perchè non so dove scaricarle
si il glut
variabilepippo
05-10-2007, 17:28
no non le ho inserite perchè non so dove scaricarle
Se hai Visual C++ 2005 non devi scaricare nulla, quelle librerie sono incluse nella distribuzione standard.
si il glut
Le librerie GLUT per Windows possono essere scaricate dal sito di Nate Robins. (http://www.xmission.com/~nate/glut.html)
Ok scaricato, come lo installo?
variabilepippo
05-10-2007, 17:39
Ok scaricato, come lo installo?
Come si installano tutte le librerie C++: copiando il file .h nella cartella "Include" e la libreria .lib nella cartella LIB. La DLL puoi decomprimerla nella cartella di Windows o in quella nella quale riesiede l'eseguibile.
Mi sembra strano che tu abbia posto una domanda di questo tipo, solitamente per sviluppare giochi&applicazioni con OpenGL bisogna saper GIÀ programmare (bene) in C/C++. :mbe:
D3stroyer
06-10-2007, 12:11
sono costretto a riuppare questo topic. Devo rendere visual studio 2005 (express) capace di usare le opengl. Ho letto trilioni di forum, ma ancora non ci siamo..prima mi dava errori di "gl/glut.h not found ed ho risolto creando una directory PlatformSDK in VisualStudio\VC\ e copiandoci tutte le cartelle Lib, Include e Bin da C:\Programmi\Microsoft Platform SDK (installato con windows platform sdk).
Ora ho aggiunto windows.h e ci sono quasi..solo che mi da sempre errori di questo tipo:
1>.\main.cpp(55) : error C3861: 'glutInit': identificatore non trovato
1>.\main.cpp(56) : error C2065: 'GLUT_RGB': identificatore non dichiarato
1>.\main.cpp(56) : error C3861: 'glutInitDisplayMode': identificatore non trovato
1>.\main.cpp(57) : error C3861: 'glutInitWindowPosition': identificatore non trovato
1>.\main.cpp(58) : error C3861: 'glutInitWindowSize': identificatore non trovato
1>.\main.cpp(59) : error C3861: 'glutCreateWindow': identificatore non trovato
1>.\main.cpp(60) : error C3861: 'glutDisplayFunc': identificatore non trovato
1>.\main.cpp(61) : error C3861: 'glutMainLoop': identificatore non trovato
Non so che pesci pigliare, ho scaricato le glut piu' recenti e messo il dll Windows\system32, messo le .lib dentro la cartella lib in Programmi\VC\ ho detto al linker di andarsi a prendere glut32.lib glu32.lib opengl32.lib, ma ancora non va.
Come headers ho messo
#include <stdafx.h>
#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
Avete idea? Grazie
variabilepippo
06-10-2007, 12:17
Avresti dovuto specificare PRIMA che stai usando Visual C++ EXPRESS.
Come hai installato il Platform SDK?
#include <stdafx.h>
#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <gl\glaux.h>
Non hai incluso glut.h
D3stroyer
06-10-2007, 12:30
scusa, prima quando..questo è il mio primo post qui dentro.
Ho fatto come mi hai indicato e ho aggiunto glut.h anche dentro Visualstudio\VC\PlatformSDK\Include\gl\ ma ora mi spara questi errori:
1>C:\Programmi\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl\glut.h(486) : error C3641: 'glutInit_ATEXIT_HACK': convenzione di chiamata '__stdcall ' non valida per la funzione compilata con /clr:pure o /clr:safe
1>C:\Programmi\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl\glut.h(486) : error C2664: '__glutInitWithExit': impossibile convertire il parametro 3 da 'void (__cdecl *)(int)' a 'void (__cdecl *)(int)'
1> L'indirizzo di una funzione produce la convenzione di chiamata __clrcall in /clr:pure e /clr:safe. Si consiglia di utilizzare __clrcall nel tipo di destinazione
1>C:\Programmi\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl\glut.h(503) : error C3641: 'glutCreateWindow_ATEXIT_HACK': convenzione di chiamata '__stdcall ' non valida per la funzione compilata con /clr:pure o /clr:safe
1>C:\Programmi\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl\glut.h(503) : error C2664: '__glutCreateWindowWithExit': impossibile convertire il parametro 2 da 'void (__cdecl *)(int)' a 'void (__cdecl *)(int)'
1> L'indirizzo di una funzione produce la convenzione di chiamata __clrcall in /clr:pure e /clr:safe. Si consiglia di utilizzare __clrcall nel tipo di destinazione
1>C:\Programmi\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl\glut.h(549) : error C3641: 'glutCreateMenu_ATEXIT_HACK': convenzione di chiamata '__stdcall ' non valida per la funzione compilata con /clr:pure o /clr:safe
1>C:\Programmi\Microsoft Visual Studio 8\VC\PlatformSDK\include\gl\glut.h(549) : error C2664: '__glutCreateMenuWithExit': impossibile convertire il parametro 2 da 'void (__cdecl *)(int)' a 'void (__cdecl *)(int)'
1> L'indirizzo di una funzione produce la convenzione di chiamata __clrcall in /clr:pure e /clr:safe. Si consiglia di utilizzare __clrcall nel tipo di destinazione
1>.\main.cpp(55) : error C2664: 'glutDisplayFunc': impossibile convertire il parametro 1 da 'void (__clrcall *)(void)' a 'void (__cdecl *)(void)'
1> L'indirizzo di una funzione produce la convenzione di chiamata __clrcall in /clr:pure e /clr:safe. Si consiglia di utilizzare __clrcall nel tipo di destinazione
il platform sdk l'ho installato scaricandolo dal sito MS, mi ha scaricato 1gb di roba e ho solo copiato le 3 cartelle che mi interessavano dentro \VC\PlatformSDK che ho creato manualmente.
variabilepippo
06-10-2007, 12:48
scusa, prima quando..questo è il mio primo post qui dentro.
Nella domanda iniziale hai scritto "non riesco a capire come installare nel visual studio 2005 le librerie". Perché non hai scritto piuttosto "uso Visual Studio 2005 EXPRESS"? Sono due software DIVERSI.
Ho fatto come mi hai indicato e ho aggiunto glut.h anche dentro Visualstudio\VC\PlatformSDK\Include\gl\
Evidentemente hai creato un progetto "Managed C++" e probabilmente non hai neanche installato il Platform SDK come descritto in questo articolo (http://msdn2.microsoft.com/it-it/library/ms235626(VS.80).aspx).
D3stroyer
06-10-2007, 13:34
ma io non ho mai chiesto come si installano le librerie e non ho mai postato in questo topic prima di stamattina. Almeno potresti leggerli i nick di chi scrive prima di sparare a zero.
ora leggo l'articolo che hai linkato. Grazie per l'aiuto per ora.
variabilepippo
06-10-2007, 13:42
Almeno potresti leggerli i nick di chi scrive prima di sparare a zero.
Amico, io sottraggo tempo al lavoro e ad altre attività per rispondere sul forum, se oltre a leggere i messaggi (spesso privi di dettagli fondamentali) e fornire delle risposte dovessi leggere anche tutti i nick probabilmente cercherei ben altro da fare.
D3stroyer
06-10-2007, 15:51
usando visual studio 2005 (non express) compilerebbe tutto..se trovasse stdafx.h ma non lo trova..ed in effetti nella cartella include non c'è :muro:
main.cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
D3stroyer
06-10-2007, 16:18
ok risolto provando e riprovando. Non è stato affatto semplice configurare tutto per farlo andare..o almeno capire da dove partire.
Lo scrivo per i niubbi come me che si incaglieranno sicuramente proprio perchè è intuitivo meno di 0.
Installate visual studio 2005 non express edition perchè non c'è dentro nulla.
Ora scaricatevi le GLUT linkate sopra e mettete il dll in system32 di windows. Dentro visual studio c'è già il glut, c'è tutto. Ora create un progetto come Win32 -> Win32 Project. ora se volete usare gli header precompilati come lo stdafx (ecco perchè a me non lo trovava..) dovete scegliere "applicazione console" e non "applicazione windows". Fatto questo vi apre un file .cpp con dentro già qualcosa. Ora scrivete la vostra robaccia di opengl sotto il main di questo cpp e tutto compilerà. Ricordatevi di dire al linker (opzioni del progetto -> linker -> input) che dll usare per il progetto (nel mio caso quelli che aveva scritto variabilepippo sono perfetti).
Che fatica però.
variabilepippo
06-10-2007, 16:41
Che fatica però.
In realtà è tutto molto semplice.
Visual Studio 2005:
1) Installate GLUT (non è presente di default) SE ne avete bisogno
2) Create un progetto non .NET (vi complichereste la vita)
3) Scrivete il codice OpenGL ed includete le librerie corrette nelle impostazioni del linker
Visual Studio 2005 Express:
1) Installate e configurate il Platform SDK
2) Installate GLUT (se necessario)
3) Procedete come sopra
D3stroyer
06-10-2007, 18:02
In realtà è tutto molto semplice.
Visual Studio 2005:
1) Installate GLUT (non è presente di default) SE ne avete bisogno
2) Create un progetto non .NET (vi complichereste la vita)
3) Scrivete il codice OpenGL ed includete le librerie corrette nelle impostazioni del linker
Visual Studio 2005 Express:
1) Installate e configurate il Platform SDK
2) Installate GLUT (se necessario)
3) Procedete come sopra
così semplice che se non avessi provato da solo letta così avrei capito quanto all'inizio..
per TE magari è semplice perchè sei esperto.
poi glut c'era..non ho dovuto nemmeno incollarglielo.
variabilepippo
06-10-2007, 18:17
così semplice che se non avessi provato da solo letta così avrei capito quanto all'inizio..
per TE magari è semplice perchè sei esperto
Come ho detto in precedenza sviluppare giochi&applicazioni OpenGL non è una passeggiata, ripeto: prima di utilizzare certi strumenti si dovrebbe imparare a programmare (bene) in C/C++. Installare una libreria C/C++ è un'operazione banale (nonché standard) per un programmatore che ha raggiunto un livello di conoscenze sufficiente per lavorare con OpenGL.
poi glut c'era..non ho dovuto nemmeno incollarglielo.
GLUT è una libreria di terze parti non inclusa di default in VS, forse ti stai confondendo con GLU oppure l'hai installata precedentemente.
AnonimoVeneziano
06-10-2007, 18:24
Amico, io sottraggo tempo al lavoro e ad altre attività per rispondere sul forum, se oltre a leggere i messaggi (spesso privi di dettagli fondamentali) e fornire delle risposte dovessi leggere anche tutti i nick probabilmente cercherei ben altro da fare.
Beh, è stata negligenza tua , almeno ammettilo e non addurre scuse stupide :sofico:
D3stroyer
06-10-2007, 18:35
che devo dire, io devo darci un esame su opengl e il c++ lo so a livello universitario, non certo lavorativo. Che faccio, aspetto di essere vecchio per darlo? Sono ot, l'importante è aver aiutato chi potrebbe essere nella mia situazione con parole povere come spero di aver dato.
variabilepippo
06-10-2007, 20:39
Beh, è stata negligenza tua , almeno ammettilo e non addurre scuse stupide
Nelle pause lavorative seguo 5 forum, se dovessi tracciare gli utenti di ogni discussione alla quale partecipo mi passerebbe la voglia dopo 10 minuti... Di conseguenza se in questo thread c'è qualcosa di stupido non sono certo le mie "scuse" ma il tuo intervento.
Anche perché se uno legge un post che inizia con "sono costretto a riuppare questo topic", naturale seguito di quanto detto in precedenza (a parte la precisazione "Express") non vedo come possa immaginare che si tratti di un utente diverso.
AnonimoVeneziano
07-10-2007, 11:30
Anche perché se uno legge un post che inizia con "sono costretto a riuppare questo topic", naturale seguito di quanto detto in precedenza (a parte la precisazione "Express") non vedo come possa immaginare che si tratti di un utente diverso.
Non so (la butto lì), leggendo il nome del nick ad esempio :p
Non ho intenzione di litigare con nessuno, ci mancherebbe altro, volevo solo farti notare che hai risposto un po' male. ;)
Se sei pieno di lavoro allora invece di seguire 5 forum ed essere acido allora tanto vale seguirne 2 ed essere affabile ;)
Ciao
variabilepippo
07-10-2007, 11:49
Beh, è stata negligenza tua , almeno ammettilo e non addurre scuse stupide
+
Non so (la butto lì), leggendo il nome del nick ad esempio
+
Almeno potresti leggerli i nick di chi scrive prima di sparare a zero.
=
Vi ripeto, se uno legge "sono costretto a riuppare questo topic" (non "anch'io ho un problema simile", come sarebbe stato logico) e non ha elementi per poter dubitare che si tratti di un utente diverso non vedo perché dovrebbe verificare OGNI volta l'accoppiata messaggio-utente.
"Nella domanda iniziale hai scritto "non riesco a capire come installare nel visual studio 2005 le librerie". Perché non hai scritto piuttosto "uso Visual Studio 2005 EXPRESS"? Sono due software DIVERSI" non mi sembra possa definirsi "sparare a zero" su qualcuno, al limite è un chiarimento.
Mi sembra assurdo che oltre ad aver risposto dettagliatamente a tutte le domande uno debba anche sentirsi in torto...:eek:
Vi ripeto, se uno legge "sono costretto a riuppare questo topic" (non "anch'io ho un problema simile", come sarebbe stato logico) e non ha elementi per poter dubitare che si tratti di un utente diverso non vedo perché dovrebbe verificare OGNI volta l'accoppiata messaggio-utente. perché è proprio quello l'elemento che hai per capire che si tratta di un utente diverso.
Mi sembra assurdo che oltre ad aver risposto dettagliatamente a tutte le domande uno debba anche sentirsi in torto...:eek: invece dovrebbero farlo santo... :rolleyes:
ma finiscila, che c'è gente che si fa un culo così dalla mattina alla sera... e se stai per aggiungere che tu sei tra quelli, allora puoi anche lasciare il forum (vedrai che aggiungerai parecchio tempo alla tua vita).
per rispondere in maniera più diretta:
1) il fatto che le tue risposte siano dettagliate non implica che siano corrette (anzi: sono spesso i dettagli gli aspetti più ardui da affrontare); e
2) il fatto che le tue risposte siano dettagliate in merito ad una certa questione non implica che siano addirittura corrette in merito ad un'altra.
variabilepippo
07-10-2007, 12:47
invece dovrebbero farlo santo...
ma finiscila, che c'è gente che si fa un culo così dalla mattina alla sera... e se stai per aggiungere che tu sei tra quelli, allora puoi anche lasciare il forum
No, non lascio il forum, lascerò semplicemente che gli idioti come te possano esprimere i loro insulsi "pensierini"...
D3stroyer
07-10-2007, 12:49
poi tenendo conto che mi hai implicitamente dato del coglione riassumendo la procedura in 3 punti (incomprensibili da seguire per uno poco pratico), si, dovresti sentirti un po' in colpa.
variabilepippo
07-10-2007, 12:55
Se ti senti un coglione non devi attribuire la colpa ad altri, ho soltanto riassunto una procedura STANDARD dedicandoTI il mio tempo libero.
Se c'è qualcuno che dovrebbe sentirsi in colpa per aver creato un equivoco con l'infelice frase "sono costretto a riuppare questo topic" quello sei proprio tu.
Che gente di merda...
D3stroyer
07-10-2007, 13:53
ma scusa, devo esserti grato di non avermi aiutato in modo concreto e rinfacciato 2 volte che stai usando il tuo personalissimo e fighissimo tempo per me? Quante arie..
mindwings
07-10-2007, 13:55
Non c'è bisogno di discutere in questo modo sul forum , bisogna cercare di essere corretti e pazienti :)
Edit : un pò di rispetto per entrambe le parti non guasta altrimenti si degenera in cose spiacevoli
variabilepippo
07-10-2007, 14:19
ma scusa, devo esserti grato di non avermi aiutato in modo concreto e rinfacciato 2 volte che stai usando il tuo personalissimo e fighissimo tempo per me? Quante arie..
Non sto rinfacciando niente a nessuno, sto solo dicendo che ho risposto alla domanda del primo utente ed implicitamente ho risposto anche alla tua. GLUT non è incluso in Visual Studio, quindi ho pensato (bene IMHO) di riepilogare i passi da compiere (che a quel punto avrebbero dovuto essere chiari un po' per tutti) SENZA DARE DEL COGLIONE A NESSUNO.
Non sono stato io ad alzare i toni, rileggetevi tutta la discusione, ho semplicemente fatto confusione (non mi hai certo aiutato con la tua introduzione) tra 2 utenti e da lì sono volati insulti ed attacchi personali. :(
D3stroyer
07-10-2007, 14:42
Chi rilegge può ben notare chi ha offeso e chi no.
variabilepippo
07-10-2007, 14:48
Chi rilegge può ben notare chi ha offeso e chi no.
Appunto...
No, non lascio il forum, lascerò semplicemente che gli idioti come te possano esprimere i loro insulsi "pensierini"... eccerto, tutti bravi a fare prima le vittime insultate da tutti e poi pure gli eroi che ciononostante vogliono continuare a stare sul forum, però al resto del post mica rispondi.
Che gente di merda... questo non si dice :O
segnalo
NB: anch'io esprimo volgarità, ma non le rivolgo agli altri poiché farlo significa non avere più argomenti a difendere quello che tipicamente è il proprio torto.
variabilepippo
07-10-2007, 17:04
segnalo
Bravo, visto che ci sei segnala anche le vostre provocazioni...
Bravo, visto che ci sei segnala anche le vostre provocazioni...
quelle devi essere tu a segnalarle, non noi. lasciami indovinare: non sai che scrivere nella motivazione della segnalazione :rolleyes:
variabilepippo
07-10-2007, 18:34
non sai che scrivere nella motivazione della segnalazione
---
Non avendo provocato nessuno ho dovuto leggere questi post:
Beh, è stata negligenza tua , almeno ammettilo e non addurre scuse stupide.
1) NON sono scuse
2) L'epiteto "stupido" tienitelo per te
3) Non mi sembra di aver detto nulla di così grave all'utente, ANZI ho provveduto a riassumere l'aiuto dato nei messaggi precedenti.
invece dovrebbero farlo santo...
ma finiscila, che c'è gente che si fa un culo così dalla mattina alla sera...
A me sembra una provocazione gratuita, ci conosciamo?! Sai cosa faccio dalla mattina alla sera?! No? Allora per favore TACI.
per rispondere in maniera più diretta:
Ho fornito informazioni inesatte?
poi tenendo conto che mi hai implicitamente dato del coglione riassumendo la procedura in 3 punti
Mi sono limitato a riassumere la procedura per venire incontro ai neofiti, come puoi vedere in ciò il "dare del coglione a qualcuno"? Hai la coda di paglia? :rolleyes:
D3stroyer
07-10-2007, 19:03
ti stai mangiando la coda, sei in evidente torto.
variabilepippo
07-10-2007, 19:04
ti stai mangiando la coda, sei in evidente torto.
Che significa "mangiarsi la coda"?
Perché non rispondi direttamente ad una delle questioni sollevate? Io ho riportato brani di discussione, ti invito a fare altrettanto.
Perché non ti prendi parte della responsabilità (come ho fatto io) per il tuo fuorviante messaggio iniziale?
D3stroyer
07-10-2007, 19:36
Perfetto.
1) NON sono scuse
2) L'epiteto "stupido" tienitelo per te
3) Non mi sembra di aver detto nulla di così grave all'utente, ANZI ho provveduto a riassumere l'aiuto dato nei messaggi precedenti.
E' negligenza tua non sapere con chi stai parlando, a prescindere da quello che questi ha scritto. Il nome è il nome ed è scritto in carattere grassetto proprio per farlo leggere anche a chi ha perso qualche decimo.
Ho fornito informazioni inesatte?
No, ma non hai parlato chiaro, o almeno, non quanto bastasse per fare davvero capire quello che volevi dire. Sei competente, non credo ci siano dubbi, ma semplicemente non ti sei espresso nel modo piu' comprensibile possibile e questo non è certo un tuo DOVERE, come non lo è di nessun utente...ognuno fa quello che può/vuole fare.
Mi sono limitato a riassumere la procedura per venire incontro ai neofiti, come puoi vedere in ciò il "dare del coglione a qualcuno"? Hai la coda di paglia? :rolleyes:
no, qui ti do contro perchè il post prima ho scritto la procedura a prova di analfabeta per portarlo fino a vedersi COMPILATO un progetto opengl. Leggendo la tua scaletta non si capisce cosa c'è da fare, o almeno, non senza ulteriori documentazioni/sperimentazioni sul software.
Non solo, tu ti appigli al mio "sono costretto a riuppare questo topic" (assolutamente lecito e per nessuna ragione logica considerabile un "triste ingresso") e io, con motivazioni ben piu' consistenti, mi appiglio al tuo:
In realtà è tutto molto semplice.
Questa è stata la tua risposta quotando SOLO la parte dove esclamavo: "che fatica però". Questa tua triste uscita (e questa la è) è un bellissimo modo di uscirsene da saccente in mezzo ad una discussione, dove ci si sente assolutamente in merito e in dovere di oscurare gli altri partecipanti con il proprio "sapere". Leggendo i due replies in fila emerge in modo palese questo:
Destroyer spiega come ha fatto per saltarci fuori.
Ecco, è arrivato variabilepippo a dire che in realtà è "tutto molto semplice", cosa che in realtà non la è propriamente se un individuo medio ha avuto difficoltà a risolvere. Allora..se in realtà è tutto semplice..questo utente che ha scritto 12 righe con il suo "how to" pensando di aiutare, è un coglione. Era "così semplice", perchè scomodarsi a spiegare?
Aggiungo infine che nessun utente è tenuto a scrivere il nome e cognome all'inizio dei propri posts; se non hai l'accortezza di farci caso tu, non addurre scuse banali...ed il fatto che tu abbia letto con scarsa attenzione i miei messaggi iniziali è confermata anche dal fatto che nonostante io avessi scritto
scusa, prima quando..questo è il mio primo post qui dentro.
tu hai continuato a parlarmi come fossi il thread starter. Credi che se fossi stato lo starter avrei mai detto una cosa simile?
Ora dimmi che non ho detto una cosa vera e ovvia agli occhi di tutti. Ti risparmio addirittura i commenti su tutte le volte che hai ricordato che "stai usando il tuo tempo per risponderMI"...e tutte le volte che leggendolo ho pensato: "oh, mi scusi, maestà".
Non passerò piu' tempo a rispondere o spiegarti i dettagli, ho solo spiegato tutto quello che è accaduto per quello che riguarda te e me; quello che hanno scritto gli altri non è mia responsabilità. Sono una persona umile che non si mette mai a spiegare alla persone se non interpellata, non mi sarei mai permesso di ricordare a qualcuno che "sto usando il mio tempo che ho tolto dal lavoro o da altro". Se non ammetterai di avere sbagliato questo sarà stato tempo perso e mi farai rimpiangere di aver anche voluto spiegarti qualcosa che in partenza non avresti letto attentamente.
Intanto chiudo. Poi leggo per eventuali interventi.
Sono in difficoltà con l'ADSL, scusate i tempi lunghi.
Edit: variabilepippo sospeso 3 gg
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.