| 
 | |||||||
| 
 | 
|  | 
|  | 
|  | Strumenti | 
|  05-11-2008, 13:02 | #1 | 
| Member Iscritto dal: Jan 2003 Città: Napoli 
					Messaggi: 34
				 | 
				
				[C++] wxwin e codeblock. L' exe finale non trova una libreria
			 
		Salve, ho da poco iniziato a programmare con le wxwidget e ho deciso di portare su windows la mia prima applicazione. Ho scaricato codeblocks e le wxwidget (versione installer). Queste ultime le ho compilate con i seguenti comandi: Codice: mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release http://wiki.codeblocks.org/index.php...indowsQuickRef Il problema è che, pur riuscendo a compilare ed avviare il mio eseguibile da codeblocks, quando vado nella cartella del progetto e clicco sul file per avviarlo mi dice: Codice: impossibile avviare l'applicazione specificata. wxmsw28u_gcc_custom.dll non è stato trovato. Una nuova installazione dell'applicazione potrebbe risolvere il problema Ho anche provato ad usare librerie wxwidgets già precompilate ma il problema è lo stesso  Questo file è presente nella cartella "C:\Programmi\wxWidgets-2.8.9\lib\gcc_dll\". Non riesco proprio a capire qual'è il problema, mi aiutereste voi? Grazie mille 
				__________________  ----===| www.palomo2.cjb.net |===---- | 
|   |   | 
|  05-11-2008, 16:46 | #2 | 
| Member Iscritto dal: Feb 2006 
					Messaggi: 134
				 | 
		Hai compilato le librerie senza leggere... SHARED SHARED controls whether a DLL (SHARED=1) or static (SHARED=0) version of wxWidgets is built. With a DLL build, compile times are faster and the executable size is smaller. The total size of a single executable plus the wxWidgets DLL is greater, but multiple executables can use the same DLL. * A DLL build of wxWidgets creates import libraries (such as libwxmsw28.a) and DLLs (such as wxmsw28_gcc_custom.dll). You must include the DLL when you distribute your program. * A static build of wxWidgets creates static libraries only (such as libwxmsw28.a), and you do not need to distribute a wxWidgets DLL. Devi copiare la DLL nella cartella dove hai l'eseguibile | 
|   |   | 
|  05-11-2008, 19:11 | #3 | 
| Member Iscritto dal: Jan 2003 Città: Napoli 
					Messaggi: 34
				 | 
		Ci avevo già provato ma senza risultato. Ora ho copiato anche la dll mingwm10.dll nella cartella dell'exe e funziana... finalmente. Però ora tutta la cartella occupa circa 10mb per un programmino di niente... magari cercherò di utilizzare le librerie non shared e vediamo cosa ne viene fuori. Intanto ho provato a compilare con devcpp e mi restituisce un exe di 3.5mb che è più accettabile... 
				__________________  ----===| www.palomo2.cjb.net |===---- Ultima modifica di palomo2 : 05-11-2008 alle 19:45. | 
|   |   | 
|  06-11-2008, 02:09 | #4 | 
| Member Iscritto dal: Jan 2003 Città: Napoli 
					Messaggi: 34
				 | 
		Grazie alla tua indicazione ho trovato una soluzione! Mi è bastato compilare le wxwidgets con l'opzione SHARED=0 e creare un nuovo progetto in codeblocks spuntando la sola opzione "wxWidgets is built as monilithic library" nelle opzioni di configurazione. Il risultato è un exe di 2.5mb distribuibile singolarmente... Grazie mille 
				__________________  ----===| www.palomo2.cjb.net |===---- | 
|   |   | 
|   | 
| Strumenti | |
| 
 | 
 | 
Tutti gli orari sono GMT +1. Ora sono le: 12:45.









 
		 
		 
		 
		





 
  
 



 
                        
                        










