PDA

View Full Version : [C] mancamento collegamento file libreria ogremain_d.dll


niki89
14-09-2007, 19:59
ciao a tutti sia nel visual c++ e nel code blocks mi da questo errore....non riesco perke non mi trova la librerie...come devo fare?

variabilepippo
14-09-2007, 20:23
Non mi parte la macchina, come devo fare?

Non sapendo ESATTAMENTE cosa hai installato, come, dove, quali dipendenze hai aggiunto al progetto (etc, etc, etc) non è possibile rispondere alla tua domanda.

Più di una persona ti ha detto che per usare con profitto un motore 3D come Ogre3D bisogna conoscere BENE il C++, la STL, il proprio ambiente di sviluppo e tante tante tante altre cosette. :muro:

tomminno
14-09-2007, 20:25
ciao a tutti sia nel visual c++ e nel code blocks mi da questo errore....non riesco perke non mi trova la librerie...come devo fare?

Hai compilato la libreria OGRE?
Hai inserito nel progetto (parlo di Visual Studio) il path dove andare a reperire il .lib (.LIB non .DLL !)?
Lo trovi dalle proprietà del progetto alla prima voce del menu Linker.

E hai specificato nel progetto di andare a linkare la libreria ogremain_d.LIB?
Sempre dal menu Linker alla voce input devi specificarlo tra le dipendenze aggiuntive.

Non ti pare di aver cominciato con un progetto un pò troppo ambizioso, ovvero cimentarti con il 3D, visto che hai tutte queste difficoltà anche nelle azioni più banali?

cionci
14-09-2007, 22:17
niki89, ti avevo già detto, ieri se non sbaglio, che devi mettere il tipo di linguaggio fra parentesi quadre prima dell'inizio del titolo della discussione ;)

niki89
15-09-2007, 13:50
scusa e vero....cmq le librerie le ho messe bene in visual studio....

tomminno
15-09-2007, 15:01
scusa e vero....cmq le librerie le ho messe bene in visual studio....

Ci deve essere qualcosa che non va nelle proprietà di progetto perchè il compilatore di dll non ne ha bisogno e non ne vuole sapere niente.
Quindi o è un errore a runtime o se è in fase di compilazione hai sbagliato qualcosa nel progetto.

cionci
15-09-2007, 15:05
Metti in uno zip il progetto (elimina magari le directory Release e Debug) e allega il progetto ad un messaggio...
Se non ti entra mettilo in qualche spazio web.

71104
15-09-2007, 22:04
Quindi o è un errore a runtime o se è in fase di compilazione hai sbagliato qualcosa nel progetto. mai visto un solo compilatore al mondo sputare un errore simile (anche per i motivi che tu stesso hai detto), e per inciso non l'ho mai visto neanche da parte di Windows, quindi dev'essere qualche messaggio errore presente nel codice della libreria che sta usando, la quale evidentemente tenta di effettuare un caricamento dinamico esplicito con LoadLibrary.

khamel
17-09-2007, 14:08
No no siete fuori strada, conoscendo un po ogre e come lavora secondo me il problema sta qui.

Utilizzando l'ogreSdk, viene creata durante l'installazione una directory che si chiama mettiamo c:\OgreSdk
al suo interno ci sono tutte le dll che servono a far girare un applicativo sviluppato con Ogre, e se si utilizza visual studio con l'Ogre App wizard, o cmq seguendo le istruzioni sull'Ogre Wiki, si nota che viene settato il progetto in maniera tale da usare come output path dell'eseguibile la directory c:\OgreSdk in modo da avere già tutte le dll al posto giusto.

Se si ha un diverso output path, ovviamente bisogna copiare le dll dalla cartella c:\OgreSdk a quella del nostro eseguibile, se no il messaggio di eccezione che compare quando andiamo a lanciare il programma è proprio quello.

Ciao

71104
17-09-2007, 15:03
No no siete fuori strada, conoscendo un po ogre e come lavora secondo me il problema sta qui.

Utilizzando l'ogreSdk, viene creata durante l'installazione una directory che si chiama mettiamo c:\OgreSdk
al suo interno ci sono tutte le dll che servono a far girare un applicativo sviluppato con Ogre, e se si utilizza visual studio con l'Ogre App wizard, o cmq seguendo le istruzioni sull'Ogre Wiki, si nota che viene settato il progetto in maniera tale da usare come output path dell'eseguibile la directory c:\OgreSdk in modo da avere già tutte le dll al posto giusto.

Se si ha un diverso output path, ovviamente bisogna copiare le dll dalla cartella c:\OgreSdk a quella del nostro eseguibile, se no il messaggio di eccezione che compare quando andiamo a lanciare il programma è proprio quello.

Ciao tutto ciò non esclude quanto ho scritto io: il messaggio di Windows di mancato caricamento implicito di una DLL è diverso da quello riportato da niki89 (o almeno io me lo ricordo completamente diverso, poi forse ricordo male perché sinceramente sono secoli che non realizzo un programma che non riesce a trovare le DLL di cui ha bisogno :asd: )

khamel
17-09-2007, 15:11
il messaggio di Windows di mancato caricamento implicito di una DLL è diverso da quello riportato da niki89

mancamento collegamento file libreria ogremain_d.dll

Anche perchè quello riportato da niki89 non ha una minima parvenza di Italiano... magari se sapessimo il messaggio esatto, o ancora meglio quando accade, o ancora meglio uno screenshot.. forse si arriverebbe a una soluzione....

Sarebbe anche utile sapere:
1-Hai usato l'sdk o hai tentato di compilare ogre
2-Hai usato ogre app wizard
3-Quale versione del visual studio hai

niki89
18-09-2007, 12:52
ho il visual studio 2005 sp1 e ogre sdk 1.4.4

ma non riesco a farlo funzionare!

variabilepippo
18-09-2007, 13:35
ma non riesco a farlo funzionare!

Il problema non è che tu non riesca a farlo funzionare, non avendo esperienza di programmazione C++ mi sembra il minimo. Il vero problema è che non sei nemmeno in grado di fornire elementi utili per ricevere un eventuale aiuto. :fagiano:

niki89
18-09-2007, 19:16
si con 3 anni di scuola c++ non bastano???vabbe se lo dici tu sapientone

cionci
18-09-2007, 19:26
Ti abbiamo già dato soluzioni come provare a copiare la dll incriminata nella stessa dir dell'eseguibile...hai provato ?

variabilepippo
18-09-2007, 19:55
si con 3 anni di scuola c++ non bastano???vabbe se lo dici tu sapientone


No, 3 anni di "C++ scolastico" non sono sufficienti per poter scrivere giochi con Ogre. A riprova di questa mia teoria ci sono discussioni aperte da te come queste: Iniziare da ZERO con VC++ (http://www.hwupgrade.it/forum/showthread.php?t=1546976), Problema con tutorial Allegro (http://www.hwupgrade.it/forum/showthread.php?t=1547375), Problemi con progetto VC++ (http://www.hwupgrade.it/forum/showthread.php?t=1548225), ...

Non si tratta di essere un "sapientone", sono semplicemente consapevole che per affrontare certe sfide bisogna avere delle basi più che solide, basi che (purtroppo) non vengono date dai corsi scolastici. Il fatto che tu abbia incontrato difficoltà con molte delle librerie consigliate (Allegro, Ogre, OpenGL) dovrebbe farti riflettere un po'.

khamel
19-09-2007, 07:36
si con 3 anni di scuola c++ non bastano???vabbe se lo dici tu sapientone

Confermo anche io che non bastano, in 3 anni di corso scolastico si fa fatica a imparare a programmare seriamente a oggetti.
Se poi ti poni con questo atteggiamento non credo che troverai molto aiuto.