Statisches Verknüpfen von wxHaskell unter Mac OS X

8

Ich möchte eine wxHaskell-Anwendung auf 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?

Ich habe das cabal-macosx -Projekt bemerkt, das .app bundles für Mac OS X macht. Als ich das Beispiel erstellt habe wxHello-Anwendung, das App-Bundle funktionierte auf meinem Rechner (nach dem Hinzufügen von extra-lib-dirs: /usr/lib zur .cabal -Datei). Aber als ich es auf einem anderen Rechner ausprobierte, 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 .

    
Binil Thomas 16.05.2012, 09:45
quelle

1 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 des Projekts zum Kopieren von Dateien 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 ein Conversion-Skript [Anm .: Download].

    
Mahmoud Al-Qudsi 18.05.2012 20:08
quelle