La mia applicazione genera l'eccezione seguente.SWT su Windows 64-bit
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SW T libraries on 64-bit JVM.
Come risolvere questo? Qual è il nome del file jar necessario?
La mia applicazione genera l'eccezione seguente.SWT su Windows 64-bit
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SW T libraries on 64-bit JVM.
Come risolvere questo? Qual è il nome del file jar necessario?
Su JVM a 64 bit è necessario lo SWT a 64 bit. Le attuali versioni possono essere scaricate qui:
http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/index.php#SWT
Nota i primi due download, il primo è per x32, l'altra per x64.
Nota: Anche su Windows a 64 bit, se si utilizza la JVM a 32 bit, è ancora necessario la versione a 32 bit SWT!
Stai semplicemente costruendo contro la versione sbagliata di SWT. O scaricare Eclipse a 64 bit o afferrare il delta pack e costruire contro l'ambiente di destinazione corretto.
Che cos'è il "pacchetto delta"? Sono curioso di una soluzione generica, perché mi piacerebbe che la mia applicazione SWT selezionasse dinamicamente il jar corretto. Inoltre, è necessario tenere presente che SWT deve essere la stessa versione della macchina virtuale, non necessariamente come O/S. –
Il delta pack non ti permette di fare nulla di "dinamico", ti dà solo la possibilità di costruire per qualsiasi bersaglio da qualsiasi obiettivo. http://louismrose.wordpress.com/2009/01/23/installing-the-rcp-delta-pack-for-eclipse/ – andyczerwonka
Ho affrontato gli stessi problemi un paio di settimane fa. Sviluppiamo un'applicazione RCP che deve utilizzare SWT a 32 bit, ma lavoriamo su macchine a 64 bit.
Quello che dovevamo fare era di modificare le configurazioni di Eclipse quindi indicò una JVM a 32 bit. L'abbiamo fatto su Finestra -> Preferenze -> Java -> JRE installati. In questa pagina preferenza, abbiamo cambiato tutti i riferimenti da "Programmi" a "Program Files (x86)".
Spero che ti aiuta in qualche modo.
Se stai sviluppando un'applicazione RCP a 32 bit in una versione a 64 bit di Eclipse, devi anche configurare la piattaforma di destinazione dell'applicazione per utilizzare esplicitamente l'architettura x86. Altrimenti Eclipse PDE continuerà a impostare le versioni a 64 bit delle librerie SWT come dipendenze del plugin. –
Per l'ultimo collegamento alla libreria download SWT: SWT project page
+1 Lo stavo cercando solo, grazie –
La mia risposta è più meno compilazione di sopra postato risposte, in particolare il commento del @ClickUpvote utente che ha fornito (da mio parere) la migliore risposta. Così qui è, ho provato poco prima di pubblicarlo:
Se l'applicazione genera l'eccezione di seguito (su Windows 7 a 64 bit, con JVM 64)
Exception in thread "main" java.lang.UnsatisfiedLinkError : Impossibile caricare librerie SW T a 32 bit su JVM a 64 bit.
Quindi la soluzione è la seguente: Su JVM a 64 bit è necessario lo SWT a 64 bit.
attuali versioni possono essere scaricate come descritto di seguito - piuttosto ben nascosta:
Vai a: http://www.eclipse.org/swt/
Scorrere Uscite
Cliccare sulla più a:
Stable
Windows, Linux, OS X, more...
di Windows (x86_64) (Versioni supportate) (http) 6.3 MB swt-4.4-win32-win32-x86_64.zip
E questa è esattamente la versione che ti serve.
Questi collegamenti sono tutti un po 'obsoleti per i download delle versioni a 64 bit. Prova questo: http://jarfiles.pandaidea.com/swt.html, trovato dopo un'ora di ricerca su google.
Questo è corretto, ma solo una breve nota che se non si ha il controllo su quale SWT viene utilizzato (ad esempio lo sviluppo di un plug-in su un sistema a 64 bit con JVM a 64 bit per un'applicazione RCP a 32 bit), è sufficiente installare e utilizzare una JVM a 32 bit per avviare il prodotto anziché modificare la tua piattaforma target RCP (vedi la risposta di Mario Marinato). – Caspar
@Casper: corretto. – Daniel
Nuova versione di: [SWT a 64 bit] (http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.2.1-201209141800/swt-4.2.1 -win32-win32-x86_64.zip) – Adil