# SWT macht große Probleme mit Intel Mac (Leopard)



## Guest (9. Jan 2009)

Hi,

habe ein paar apps deren GUIs mittels SWT erstellt sind. Unter Windows und Ubuntu habe ich keine Probleme. Ich lade mir die SWT libs von der Downloadseite und freue mich des Lebens. => alles funktioniert!

Nun habe ich einen IntelMac als Zweitrechner auf dem die Programme auch laufen sollen. In der passenden Eclipse-Umgebung sind auch schon eine passende SWT.jar dabei. Aus der IDE herraus startet das Programm ja noch. Interessanter Weise erscheint in der Console:


```
2009-01-09 19:38:09.339 java[396:80f] [Java CocoaComponent compatibility mode]: Enabled
2009-01-09 19:38:09.341 java[396:80f] [Java CocoaComponent compatibility mode]: Setting timeout for SWT to 0.100000
```

Wenn ich das Programm aber außerhalb der Konsole laufen lassen will (z.B. via Export als runnable jar), hängt es sich auf. Es wird keine GUI angezeigt. Wenn ich das Programm via JNLP-Webstart und (so denke ich zumindest) passenden Libs starten will, geht das unter Win + Ubuntu super und auf dem Mac bleibt es wieder hängen. Ich muss es dann gewaltsam beenden.

Ich habe gelesen, dass es für IntelMacs und SWT wohl universal binaries geben soll. Muss ich hier was beachten? Wer hat hier Erfahrungen?

Danke und Gruß
Rainer


----------



## byte (9. Jan 2009)

Anonymous hat gesagt.:
			
		

> Ich habe gelesen, dass es für IntelMacs und SWT wohl universal binaries geben soll. Muss ich hier was beachten? Wer hat hier Erfahrungen?


Schonmal die aktuelle Mac Version manuell runtergeladen? http://www.eclipse.org/swt/
Da sind auch alle Binaries dabei (ebenso wie bei der Windows und Linux Version). Die müssen halt in den nativen Library Path.


----------



## Guest (9. Jan 2009)

Hallo,

danke für die schnelle Antwort .



			
				byto hat gesagt.:
			
		

> Anonymous hat gesagt.:
> 
> 
> 
> ...



Ja habe mir das swt "packet" heruntergeladen. Was genau meinst du mit nativer LibaryPath? Wenn du den JavaBuildPath unter der Rubrik Libaries meinst: Da habe ich die Mac Swt schon eingebunden? Sonst würde vermutlich mein Projekt auch nicht bauen ...

Muss ich hier noch etwas tun?

Danke und Gruß
Rainer


----------



## byte (9. Jan 2009)

Du sprichst wohl von der swt.jar. Die muss in den Classpath, richtig. Aber SWT ist nur ein Java-Wrapper für die nativen Komponenten. Du brauchst also zusätzlich zur Jar-Datei noch die nativen Libraries (Stichwort -Djava.library.path).


----------



## Guest (9. Jan 2009)

byto hat gesagt.:
			
		

> Du sprichst wohl von der swt.jar. Die muss in den Classpath, richtig. Aber SWT ist nur ein Java-Wrapper für die nativen Komponenten. Du brauchst also zusätzlich zur Jar-Datei noch die nativen Libraries (Stichwort -Djava.library.path).



Verstehe es leider nicht ganz. :?: Hilf mir mal bitte auf die Spünge. In dem Zip Archiv von der Eclipse-Site gibt es praktisch nur die swt.jar und einen src-ordner mit ".c" und ".h" files. Woher bekomme ich die nativen libaries und wie genau binde ich diese ein.

Gruß
Rainer


----------



## byte (10. Jan 2009)

Und genau diese Dateien müssen in den java.library.path. Wie das geht, kannst Du googlen.


----------



## Wildcard (10. Jan 2009)

byto hat gesagt.:
			
		

> Und genau diese Dateien müssen in den java.library.path. Wie das geht, kannst Du googlen.


Die c und h Dateien? Wohl kaum, das sind die Quelldateien und Interfaces. Bei Mac müsste es eigentlich eine .a oder .dylib sein (Mac User, bitte korrigiert mich wenn ich da falsch liege).


----------

