Ciao a tutti,
Ho compilato un progetto molto grande e complesso, e sulla macchina in cui
è installato il compilatore gira perfettamente. Appena copio i files .exe
e le DLL generate dal progetto (viene generata direttamente una cartella
con tutti i files della complilazione) su un'altra macchina, il programma
non parte. Il messaggio (si tratta di un'applicazione in finestra DOS) è
in italiano mentre il programma è in inglese, quindi è un problema a
livello di macchina. Ho usato un programma consigliato dalla MS, ovvero
DependencyWalker. Piano piano ho individuato o, meglio, credevo di aver
individuato, tutte le DLL e relativo albero delle dipendenze. Alla fine il
messaggio è MPR.DLL => WNetRestoreConnectionA "at least one module has an
unresolved import due to a missing export function in a delay-load
dependent module". Non riesco a trovare questa funzione da nessuna parte
ma ho paura che servirebbe a poco. L'albero delle dipendenze è complesso e
c'è una serie di DLL di nome uguale in cartelle del tipo
C:WINDOWSWinSxSx86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375*DLL
Temo che VC compili mirando all'esatta architettura della macchina; quella
di sviluppo è dual core mentre quella target no, anche se le versioni di
XP sono le stesse e gli ambienti identici a livello sofwtare eccetto che
su un PC c'è il compilatore e sull'altro no. Sospetto che VC installi una
serie di DLL su cui conta ma che occorrerebbe copiarsi assieme agli
eseguibili. A mano la vedo molto ma molto dura. Premesse alla domanda:
1) Il progetto è grandissimo e non oso toccarlo. Ho tentato di compilarlo
in modo debug per eventualmente tracciare le chiamate non risolte ma non
me lo permette. Può darsi che in fase di sviluppo abbiano risolto la
compilazione debug "al volo", ma con la versione rilasciata dei sorgenti
mancano librerie e altro e non compila. Posso compilare con sicurezza solo
in modo release.
2) non sono per nulla esperto di sviluppo in Windows, ho sempre sviluppato
applicazioni per console. Non ho il minimo ma benché minimo background per
andare oltre operazioni elementari.
Quel che chiedo è: esiste un modo a me accessibile per tracciare le
librerie necessarie e/o, meglio ancora qualche opzione in compilazione che
permetta una versione release autocontenuta? Se dovesse essere utile, il
progetto è Ascent, l'emulatore di giochi come WOW e altri.
grazie di ogni dritta
Apx.
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad abuse@newsland.it