2012-05-16 26 views
8

Ich möchte eine wxHaskell-Anwendung unter Mac OS X verteilen. Wie kann ich eine Mac OS X-Anwendung erstellen, die eigenständig verwendet werden kann, ohne dass der Benutzer zusätzliche Bibliotheken installieren muss?Statische Verbindung wxHaskell unter Mac OS X

Ich bemerkte das cabal-macosx Projekt, das .app Bundles für Mac OS X macht, wenn ich das Beispiel wxHello Anwendung erstellt, der App-Bundle arbeitete auf meiner Maschine in Ordnung (nach extra-lib-dirs: /usr/lib zur .cabal Datei hinzufügen). Aber als ich es auf einer anderen Maschine versuchte, bekam ich den Fehler: Dyld Error Message: Library not loaded: /Users/binil/.cabal/lib/wxc-0.90.0.3/ghc-7.0.4/libwxc.dylib.

Antwort

3

Sie können die erforderlichen Dylibs im Ordner Contents/Resources in Ihrem App-Bundle platzieren, da dies Teil des Suchpfads für Dylibs ist. Sie können dies automatisieren, indem Sie die Build-Phase für das Kopieren von Dateien des Projekts verwenden.

Technisch (obwohl dies nicht immer für alle Dylibs funktioniert), sollten Sie es "richtig" ausführen können, indem Sie die Dylib in ein Framework konvertieren und dann in Ihrem XCode-Projekt dagegen verlinken. Es gibt a conversion script available [Hinweis: download].