View Full Version : [Visual C++ 2010] Windows 7 64bit e l'errore 0xc000007b
DomusP45
02-04-2014, 12:55
Salve a tutti,
faccio presente che questa cosa mi scoccia non poco perchè non so come spiegarvelo l'errore in questione.
Ho fatto un'applicazione con visual c++ 2010 sul mio portatile, con windows 7 64bit.
Ora, volevo farla girare su un altro pc, sempre windows 7 64bit, sempre sotto visual c++ 2010
Ho copiato tutti i file necessari, comprese le librerie OpenCV e quant'altro nelle stesse cartelle, configurato il file path di windows uguale al mio, insomma stesso ambiente.
Difatti visual c++ 2010 compila, senza nessun errore.
Vado a lanciare il file exe creato e mi esce subito l'errore
0xc00007b "impossibile avviare l'applicazione"...
Cercando con google ho trovato che è dovuto ad una molteplicità di cose, che ho provveduto a verificare:
- visual c++ 2010 runtime presenti o no (presenti e aggiornate)
- Errore di questo tipo anche con altre applicazioni (no)
- virus (no)
- provare ad eseguire come amministratore (già amministratore)
Visto che il pc non è il mio, e tra le soluzioni c'era formattare e reinstallare tutto, come posso risolvere questo problema senza compromettere tutto il sistema di questo PC?
Qualcuno sa aiutarmi??
tomminno
02-04-2014, 13:22
Ma l'errore te lo dà anche in debug?
Generalmente è un problema di runtime del C++.
Per questo generalmente si creano pacchetti di installazione per portare un applicativo da una macchina all'altra ;)
Prova a verificare con Dependancy Walker se manca qualche dipendenza.
DomusP45
02-04-2014, 13:26
Ma l'errore te lo dà anche in debug?
Generalmente è un problema di runtime del C++.
Per questo generalmente si creano pacchetti di installazione per portare un applicativo da una macchina all'altra ;)
Prova a verificare con Dependancy Walker se manca qualche dipendenza.
ma secondo te, se ricreo tutto il progetto sul PC in questione, questo problema, si potrebbe risolvere?
tomminno
02-04-2014, 15:55
ma secondo te, se ricreo tutto il progetto sul PC in questione, questo problema, si potrebbe risolvere?
Non ho capito se sull'altro computer stai ricompilando i sorgenti o solo eseguendo l'eseguibile. Se stai usando l'eseguibile devi assicurarti di avere la stessa versione del runtime C++ su entrambi i computer e che sia la stessa usata per compilare il programma.
Può darsi che tu stia cercando di caricare librerie a 64bit nell'applicativo a 32bit o viceversa: non hai detto niente sull'architettura con cui hai compilato il programma e le sue dipendenze.
Il fatto che il path di sistema sia lo stesso non significa che magari sull'altro computer non sia installato qualcosa che va in conflitto con il tuo programma, dovresti fornire qualche dettaglio in più. A cosa ti serve impostare il path di sistema?
DomusP45
02-04-2014, 17:47
Non ho capito se sull'altro computer stai ricompilando i sorgenti o solo eseguendo l'eseguibile. Se stai usando l'eseguibile devi assicurarti di avere la stessa versione del runtime C++ su entrambi i computer e che sia la stessa usata per compilare il programma.
Può darsi che tu stia cercando di caricare librerie a 64bit nell'applicativo a 32bit o viceversa: non hai detto niente sull'architettura con cui hai compilato il programma e le sue dipendenze.
Il fatto che il path di sistema sia lo stesso non significa che magari sull'altro computer non sia installato qualcosa che va in conflitto con il tuo programma, dovresti fornire qualche dettaglio in più. A cosa ti serve impostare il path di sistema?
Il path serve per le cartelle di OpenCV. E a quanto ho visto, l'unica chiamata ad openCV è quella che ho introdotto io.
Il fatto di ricompilare l'ho pensato tornando a casa: mi porto i sorgenti e ricreo da zero il progetto, con tutti gli annessi e connessi e riprovo. Perchè compilando il mio progetto su quel PC, si compila senza errori. Ecco perchè poi è strano che non va...
Però potrebbe essere qualcosa vincolato alle specifiche, i file utente...e quindi volevo provare.
Il sistema operativo, la versione di visual studio, le librerie OpenCV e quant'altro sono le stesse.
Ricreandolo da zero forse risolvo.
tomminno
03-04-2014, 08:13
Il path serve per le cartelle di OpenCV. E a quanto ho visto, l'unica chiamata ad openCV è quella che ho introdotto io.
Il fatto di ricompilare l'ho pensato tornando a casa: mi porto i sorgenti e ricreo da zero il progetto, con tutti gli annessi e connessi e riprovo. Perchè compilando il mio progetto su quel PC, si compila senza errori. Ecco perchè poi è strano che non va...
Però potrebbe essere qualcosa vincolato alle specifiche, i file utente...e quindi volevo provare.
Il sistema operativo, la versione di visual studio, le librerie OpenCV e quant'altro sono le stesse.
Ricreandolo da zero forse risolvo.
Dici che il progetto compila senza errori anche sull'altro computer, ma se lo avvii in debug, funziona?
DomusP45
03-04-2014, 08:41
Dici che il progetto compila senza errori anche sull'altro computer, ma se lo avvii in debug, funziona?
no, nemmeno in debug.
In pratica compila correttamente sia debug che release. Ma quando premo play per avviarlo da visual c++ (o comunque vado a lanciarlo da fuori l'eseguibile) compare subito quella finestra con quell'errore.
tomminno
03-04-2014, 11:54
Usa Dependency Walker (http://www.dependencywalker.com/) per cercare le dipendenze mancanti.
Prova a controllare il file manifest, quasi sicuramente è un problema di caricamento di librerie con l'architettura sbagliata.
Il tuo software l'hai compilato a 32 o 64bit?
DomusP45
03-04-2014, 11:58
Usa Dependency Walker (http://www.dependencywalker.com/) per cercare le dipendenze mancanti.
Prova a controllare il file manifest, quasi sicuramente è un problema di caricamento di librerie con l'architettura sbagliata.
Il tuo software l'hai compilato a 32 o 64bit?
a 64 bit.
Anche se sei già amministratore prova ad avviare l'eseguibile cliccando con il destro e scegliendo "run as administrator".
Essendo amministratore non dovrebbe cambiare niente e invece a volte cambia.
DomusP45
04-04-2014, 20:17
Visto che mi sono scocciato pesantemente (ho provato anche a lanciare come amministratore anche se già tale) e niente.
Allora ho ricreato il progetto da zero su quel computer, rimettendo tutte le dipendenze, le lib, i percorsi include e ri-modificando il path con destinazione delle librerie OpenCV in un'altra cartella, direttamente in C:\
E così ho risolto.:doh:
Grazie a tutti per l'attenzione e le risposte...siete sempre disponibili e gentili.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.