|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
[c++] Aiuto! Con Visual Studio 2005 l'eseguibile non parte se lanciato da altri pc!
Scusate,
ho un grande problema...ho fatto un progetto con visual studio 2005 in c++ con l'utilizzo delle openGL! quando lancio il file .exe presente nella cartella debug che viene creata da vs2005 nel mio pc l'applicazione gira correttamente... Se metto il progetto in qualsiasi altro pc, se provo a lanciare l'applicazione, quindi il file .exe presente in debug mi compare la schermata d'errore con scritto: "impossibile avviare l'applicazione specificata. La configurazione dell'applicazione non è corretta. Una nuova installazione dell'applicazione potrebbe risolvere il problema." Se però ricompilo il file .cpp negli altri pc e poi lancio il .exe presente in debug parte correttamente! ![]() A me serve però che l'eseguibile parta direttamente con il doppio click, senza ricompilarlo! Vi riassumo la struttura delle cartelle del progetto: Progetto ->data ->debug ->immagini(sarebbero le texture) ->progetto ->debug qui dentro ci sono i file .cpp, .h e il file vc++ project ->immagini Sapete risolvere il problema? grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
I programmi fatti col VC++ richiedono che i computer sui quali devono girare abbiano installato il vcredist.exe (un file con le librerie ridistribuibili di MS)
Se vuoi evitarlo devi fare il linking statico al tuo eseguibile, ma non so dirti la procedura precisa ![]() Ciao
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#3 | |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Quote:
![]() Preciso che nel pc dove ho fatto il progetto utilizzo windows vista!...non c'entrerà niente, però non si sa mai! Mi sono accorto anche che quando utilizzo altri pc e vado nella cartella debug ci sono due file .ilk e .pdb la cui icona sembra tipo un pò tagliuzzata...boh, non so come spiegarvelo! sembra come se questi due file sono un pò corrotti! Ultima modifica di doctorAle85 : 25-01-2008 alle 18:42. |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13827
|
Questo è il link al file che ti serve per far andare il tuo programma sugli altri PC :
http://www.microsoft.com/downloads/d...DisplayLang=en Installalo sui PC dove non parte. Se vuoi farlo partire su tutti senza quel pacchetto devi abilitare il link statico. Non so la procedura precisa. Cerca su google o nelle impostazioni di Visual Studio nella sezione dedicata al linker vedi se trovi qualcosa Ciao
__________________
GPU Compiler Engineer |
![]() |
![]() |
![]() |
#5 | |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Quote:
...spero che riesco però a utilizzare il link statico! ![]() |
|
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Non parte neanche con vcredist_x86 negli altri pc...che cavolo!
I problema dovrebbe essere dovuto a qualche file .dll, come ho letto girando su internet! eppure la glut32.dll l'ho messa anche nella cartella debug... boh Aiuto!!!!!! ![]() |
![]() |
![]() |
![]() |
#7 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
oltre ad abilitare il link statico verso il runtime di Visual C++ devi anche cannare il manifest file. vai sulle proprietà del progetto, poi Configuration Properties, poi seleziona la configurazione che ti interessa (presumibilmente Release), e setta le seguenti opzioni:
non sono sicurissimo che questo basti a farlo andare perché dovrei provare, in caso dicci che errori da. PS: con questi due passi non è neanche necessario richiedere agli utenti di installare il redistributable. |
![]() |
![]() |
![]() |
#8 | |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Quote:
Per il primo punto, già è settato a multi-threaded debug dll! Settando a No mi si pianta il programma! Mettendo il linkaggio statico (non so se ho fatto bene, dato che non sono riuscito a trovare una soluzione su internet che mi riguardi) mi da quest'errore dopo aver compilato e lanciato ed eseguito:; "the specified file is an unrecognized or unsopported binary format" Non so proprio come cavolo è... ma non c'è un modo più semplice, per esempio un programmino che a partire dai file che crea visual studio, generi un file eseguibile che non crei tutti questi problemi? |
|
![]() |
![]() |
![]() |
#9 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
|
![]() |
![]() |
![]() |
#10 |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Quello che mi hai indicato, multi-threaded, scritto così non esiste! al massimo esiste multi-threaded (/MT).
Comunque anche selezionando questo tipo di multi-threaded, selezionando "no" dove hai indicato e mettendo in configuration properties->general->configuration type "static library" mi compila ma quando vado ad eseguire dice: "unable to start program xxxx.progetto\debug\progetto.lib" Se vi può essere d'aiuto, anche se non dovrebbe azzeccarci un tubo, per necessità dovetti cambiare la proprietà character set da unicode a multicode! ![]() Ultima modifica di doctorAle85 : 25-01-2008 alle 21:11. |
![]() |
![]() |
![]() |
#11 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
2) io mica ti ho detto di compilare in forma di "static library"... così facendo tu hai generato non un eseguibile ma una libreria statica (infatti lui cerca di eseguire un file con estensione .lib, non .exe) |
|
![]() |
![]() |
![]() |
#12 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
sono andato a rivedere com'era: credo che nel tuo caso dovresti mettere "Not set", ad indicare che non stai utilizzando caratteri ne' Unicode ne' multibyte, ma semplici char del C/C++.
|
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
ma stai passando l'eseguibile compilato in debug?
devi compilare in release e passare quello!
__________________
![]() |
![]() |
![]() |
![]() |
#14 | |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Quote:
...perchè non vedo dei cambiamenti togliendo multicode e mettendo not set...almeno nel mio caso!!! |
|
![]() |
![]() |
![]() |
#15 | |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Quote:
Se compilo in release si verifica un fenomeno strano...e cioè che l'animazione che viene fatta nell'applicazione risulta tipo accelerata rispetto alla compilazione in debug!...per esempio una camminata, se compilo in release risulta molto più accelerata! Com'è questa cosa?...si può fare qualcosa?...xchè se è così lascio la compilazione in debug!...non mi va di ricambiare il codice dell'animazione... |
|
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
un programma di debug è sempre più lento della corrispondente versione in release. guarda anche la differenza di dimensione dei due eseguibili!
__________________
![]() |
|
![]() |
![]() |
![]() |
#17 | |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Quote:
Se non si potesse fare mi tengo l'eseguibile del debug...perchè altrimenti dovrei cambiare parecchio codice! |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
dipende dal codice che hai scritto
__________________
![]() |
![]() |
![]() |
![]() |
#19 |
Bannato
Iscritto dal: Oct 2007
Messaggi: 452
|
Non si riesce a risolvere il problema!
Compilando in release mi cambia l'animazione e è troppo rischioso cambiare tutto il codice... La cosa che mi sorprende è che per le altre tesine compilate in debug, senza accorgimenti strani, ne linkaggio statico e cavoli vari, il .exe a me parte. Il mio eseguibile invece in altri pc no! ho provato anche a mettere la libreria glut32.dll nella cartella con il .exe e non va! ![]() ![]() ![]() ![]() ...e sono convinto sempre più che è vista il problema, e in particolare il pacchetto aggiuntivo che magari setta qualche impostazione di default diversa...non so! vi posso assicurare che ad altre persone che hanno fatto progetti con xp e stessa versione di visual studio non da problemi! Ultima modifica di doctorAle85 : 26-01-2008 alle 16:05. |
![]() |
![]() |
![]() |
#20 | |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:57.