PDA

View Full Version : [Visual C++] Problemi con l'eseguibile


dileoa
12-03-2009, 12:44
Ho scritto una piccola applicazione con Visual C++ Express. Ho provato a eseguirla su due PC diversi. Sul primo il programma funziona correttamente. Sul secondo invece si apre la seguente message box :

Impossibile avviare l'applicazione specificata. La configurazione dell'applicazione non è corretta. Una nuova installazione dell'applicazione potrebbe risolvere il problema.

Premesso che non ho scritto procedura di installazione dedicata (il programma si copia sull'hard disk e si esegue) e che entrambi i PC hanno Windows XP Service Pack 3, qualcuno può suggerirmi il motivo e la possibile soluzione?
Grazie :muro:
ADL

ndakota
12-03-2009, 12:58
sai che devi compilarlo in release per farlo funzionare su altri pc?

dileoa
12-03-2009, 13:10
Si. Ho provato l'eseguibile presente nella directory "release".
ADL;)

dileoa
13-03-2009, 08:56
Ho confrontato il SW installato sulle due macchine. Su quella dove il programma non gira, non è installato Microsoft .NET Framework 3.5.
Proverò a ricompilare il programma senza il supporto a 3.5 (ammesso sia possibile e riesca a capire come si fa;) ).
ADL:mc:

vizzz
13-03-2009, 09:18
mica vero...cambia solo la compilazione con le info di debug o meno, quindi ottimizzato oppure no... almeno in visual studio per i progetti che abbiamo fatto noi mi sembra che ci passassimo gli eseguibili tra membri del progetto senza compilare in debug...

non è detto...utilizzando MFC ad esempio un eseguibile in debug linka ad una libreria diversa, che solitamente non è presente su pc non di sviluppo (cioè con visual installato)

dileoa
13-03-2009, 09:50
L'applicazione è abbastanza semplice e usa solo degli oggetti richtextbox e webbrowser.
ADL

dileoa
13-03-2009, 10:27
Ammesso che non ci siano componenti "strani", è possibile escludere dalla compilazione MS Framework 3.5?
Se si come?
Grazie.
ADL

dileoa
17-03-2009, 08:26
Salve. Continua la mia saga su Visual C++ Express.
Ricapitolo brevemente. Ho scritto un programma semplice che vorrei utilizzare su un PC (che ovviamente non è quello di sviluppo) su cui non è installato .NET 3.5.
Ho provato a compilare il programma in "release" escludendo .NET 3.5 e mantenendo il supporto per .NET 3.0.
Il programma funziona correttamente sul computer dove lo sto sviluppando e su una terza macchina ma sul PC dove ho necessità di utilizzarlo continua a darmi l'errore segnalato in precedenza.
Cosa posso fare?
Grazie
ADL

tomminno
17-03-2009, 13:26
L'applicazione è abbastanza semplice e usa solo degli oggetti richtextbox e webbrowser.
ADL

Ma stai usando C++/CLI?
Perchè in questo caso devi per forza avere il .NET installato.

Altrimenti, se stai usando C++, può darsi che stai compilando con l'opzione /MD o /MDd (MultiThreaded Dll) e sulla macchina non siano installate le CRT del visual studio e/o le MFC che stai usando per sviluppare.

dileoa
19-03-2009, 12:53
Problemas risolto installando sulla macchina il "Microsoft Visual C++ 2008 SP1 Redistributable Package".:doh:
Grazie
ADL

!k-0t1c!
19-03-2009, 13:12
Mi spiace aver visto solo ora questo thread perché probabilmente avrei potuto farvi risparmiare un po' di tempo, ad ogni modo in alternativa ad obbligare l'utente ad installare il VC++ Redist, si può compilare con opzione /MT invece che /MD, in maniera tale da non avere dipendenze esterne per quanto riguarda le funzioni della libreria standard (non sono sicuro per quanto riguarda MFC).