• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Problema con Code::Blocks
#1
Question 
ciao a tutti,
Mi sono avventurato nella programmazione con Irrlicht.
Per provare l'engine ho provato a compilare un tutorial che ho trovato sul sito ufficiale,ho provato a farlo partire attraverso code::blocks ed era tutto ok,ma quando provo a far partire l'exe mi dice che manca una .dll, allora io ho messo la .dll nella cartella dell'exe ma quando lo faccio partire mi lascia scegliere che driver usare ma poi mi compare scritto "***.exe ha smesso di funzionare....ecc." Dodgy .
Come mai??C'è un modo per farlo funzionare?
 
Rispondi
#2
CodeBlocks non c'entra nulla... il fatto che possono mancare delle dll è normale, perché non hai copiato le dll di irrlicht nella cartella dell'exe.

Per il crash dell'applicazione, si deve vedere... posta il source, perché: o è un problema a livello di source, oppure hai qualche problema con i driver.
 
Rispondi
#3
Se fosse un problema a livello di driver non dovrebbe crashare anche quando faccio il test attraverso Codeblocks?in più il source è uguale uguale a questo: http://irrlicht.sourceforge.net/docu/example014.html
Infine ho provato ad avviare il programma che c'è negli exemples(il codice è leggermente diverso ma non crasha)ho provato il source del file che c'è negli exemple ma stesso risultato di prima.
 
Rispondi
#4
Da quanto ne so #pragma comment è una direttiva valida solo per il compilatore di visual studio, se usi code::blocks (si presume con mingw) togli la linea #pragma comment(lib, "irrlicht.lib") e linka irrlicht.lib dalle proprietà del progetto. Mi fa strano che te lo compili ugualmente.

Riguardo al crash servirebbe qualche informazione aggiuntiva:
- quando crasha ti da qualche avviso?
- che versione di irrlicht stai usando?
- hai provato a compilare sia in debug che in release?
- hai provato a eseguire dall'ide e con doppio click sia la versione debug che quella release?
- dove hai preso la/le dll mancanti? (domanda stupida, ma non vorrei che sia qui il problema)
 
Rispondi
#5
"Da quanto ne so #pragma comment è una direttiva valida solo per il compilatore di visual studio, se usi code::blocks (si presume con mingw) togli la linea #pragma comment(lib, "irrlicht.lib") e linka irrlicht.lib dalle proprietà del progetto. Mi fa strano che te lo compili ugualmente."
Se io compilo lasciando quelle 4 linee lo compila normalmente mi dice solo: "81 warning: ignoring #pragma comment |
82 warning: ignoring #pragma comment |
||=== Build finished: 0 errors, 2 warnings ===|"
(ho provato a compilare anche senza queste linee ma il risultato non cambia)
"quando crasha ti da qualche avviso?"
No,mi si apre la console e poi carsha.
"hai provato a compilare sia in debug che in release?"
Sì,stesso risultato
"dove hai preso la/le dll mancanti?" la dll mancante è questa "Irrlicht.dll",partendo dalla cartella principale di Irrlicht vado in bin poi Win32-VisualStudio e lì c'è la dll(mi sorge un dubbio,io uso windows 7 a 64-bit non è che forse dovrei usare la dll di Win64-VisualStudio?)
"hai provato a eseguire dall'ide e con doppio click sia la versione debug che quella release?"
??Io se faccio run da codeblocks mi parte senza problemi(non mi chiede neanche la dll)
P.S
Uso la versione 1.7.2 di Irrlicht
 
Rispondi
#6
Quando avvii il programma da CodeBlocks è normale che non ti chiede le DLL, in quanto CodeBlocks le trovo automaticamente. Mentre quando lo avii come un qualsiasi programma li sei obbligato a copiare le dll insieme all'exe.

"81 warning: ignoring #pragma comment": Viene ignorata, perché si usa solo in: Visual Studio.

Prova a cambiare il tipo di compilazione... se compili senza toccare nulla, l'IDE ti compila in "Debug", se non erro, vicino alla freccia verde e tutto il resto, ce una specie di ComboBox dove puoi scegliere il tipo, cambia in: Release.
 
Rispondi
#7
Lo sò che viene ignorata,infatti ho provato(come scritto tra parentesi) anche senza ma non cambia il risultato.
per compilare in relase ho già provato come puoi leggere del mio messaggio delle 11:34 del 5/gennaio/2012
 
Rispondi
#8
Hai scritto tutto attaccato... e quindi non ho visto quel pezzetto lol.

Comunque, appena posso provo anche io.
 
Rispondi
#9
Ok,grazie
Non sò se può essere utile,comunque ho provato a usare la dll che si trova nella cartella Win-gcc e il riisultato è cambiato,adesso non crasha ma si apre solo per un brevissimo tempo e poi si chiude...che sia un problema di dll?Forse devo utilizzare un'altra dll(magari devo compilarla io quella della cartella "Win64-VisualStudio")
 
Rispondi
#10
Beh, dovevi usare la dll della cartella di: Win-gcc fin da subito, in quanto hai compilato con CodeBlocks e CodeBlocks usa come compilatore le GCC.

Ho provato e a me funziona tutto correttamente, le dll che ti servono sono:

libstdc++-6.dll
libgcc_s_dw2-1.dll
Irrlicht.dll

A me le prime due servono, in quanto mi installo manualmente il compilatore, altimenti credo che ti serve solo: Irrlicht.dll, poi in base al compilatore copi da dll corretta (vedi sopra).
 
Rispondi
#11
ok ma il progetto compilato mi si apre solo per pochissimo tempo perchè?
 
Rispondi
#12
Non saprei.... perché anche la configurazione di Irrlicht è una boiata, quindi non credo che hai sbagliato la configurazione... al limite rifai il progetto, e scegli il template: Irrlicht, cancella il codice d'esempio e inserisci quello linkato da te, compila in release e riprova.
 
Rispondi
#13
Sono riuscito a farlo funzionare Big Grin Big Grin Big Grin Big Grin
Grazie Skyline e Grazie steve Wink
 
Rispondi
  


Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
Question Problema irrlicht con directx Zettamax 0 1,430 23-02-2012, 06:49 PM
Ultimo messaggio: Zettamax
  Installare Irrlicht su: Dev-C++ e Code::Bocks Riddick 9 3,941 03-06-2010, 02:48 PM
Ultimo messaggio: Riddick

Vai al forum:


Browsing: 1 Ospite(i)