Deployment Mac mit Frameworks
Verfasst: 12. August 2010 19:48
Hallo!
Hier wurde bestimmt schon viel über das Thema gesprochen, aber ich bräuchte mal eure Hilfe mit dem Deployment einer Anwendung auf Mac-OS X 10.6. Die Anwendung wurde unter Linux entwickelt und ich habe auch schon ein .app daraus erzeugt. Ich habe die offizielle Anleitung von Trolltech verwendet und es läuft auch soweit. Die Resourcen werden gefunden und alles scheint gut.
Ich habe im einzelnen zuerst die ids der Frameworks angepasst, dann otool verwendet, um die Pfade in der Anwendung anzupassen und dann den Pfad von QtGui auf QtCore angepasst.
Wenn ich mit otool nachsehe welche Libs verwendet werden, erhalte ich diese Ausgabe:
Die otool Ausgabe für die beiden Frameworks ist ähnlich, auch verwendet QtGui angeblich nur das gebundelte QtCore.
Es sieht also so aus, als wenn nur die im Bundle enthaltenen Frameworks verwendet würden. Um zu testen ob es ohne Qt läuft, habe ich die Frameworks QtCore und QtGui unter /Library in einem Ordner "versteckt". Wenn ich die Anwendung dann starten möchte, bekomme ich folgende Fehlermeldung:
Sind da noch Pfad Variablen zu setzen oder sowas?
Ich wäre sehr dankbar wenn jemand einen Tipp hätte was noch falsch sein könnte, da ich langsam verzweifle und das Programm schnellstmöglich brauche...
MfG Mr.Blonde.
Hier wurde bestimmt schon viel über das Thema gesprochen, aber ich bräuchte mal eure Hilfe mit dem Deployment einer Anwendung auf Mac-OS X 10.6. Die Anwendung wurde unter Linux entwickelt und ich habe auch schon ein .app daraus erzeugt. Ich habe die offizielle Anleitung von Trolltech verwendet und es läuft auch soweit. Die Resourcen werden gefunden und alles scheint gut.
Ich habe im einzelnen zuerst die ids der Frameworks angepasst, dann otool verwendet, um die Pfade in der Anwendung anzupassen und dann den Pfad von QtGui auf QtCore angepasst.
Wenn ich mit otool nachsehe welche Libs verwendet werden, erhalte ich diese Ausgabe:
Code: Alles auswählen
otool -L MyApp.app/Contents/MacOS/MyApp
MyApp.app/Contents/MacOS/MyApp (architecture i386):
@executable_Path/../Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.6.0, current version 4.6.3)
@executable_Path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.6.0, current version 4.6.3)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)
MyApp/Contents/MacOS/MyApp (architecture ppc7400):
@executable_Path/../Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.6.0, current version 4.6.3)
@executable_Path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.6.0, current version 4.6.3)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0)Es sieht also so aus, als wenn nur die im Bundle enthaltenen Frameworks verwendet würden. Um zu testen ob es ohne Qt läuft, habe ich die Frameworks QtCore und QtGui unter /Library in einem Ordner "versteckt". Wenn ich die Anwendung dann starten möchte, bekomme ich folgende Fehlermeldung:
Code: Alles auswählen
Dyld Error Message:
Library not loaded: @executable_Path/../Frameworks/QtGui.framework/Versions/4/QtGui
Referenced from: /Users/someone/new/MyApp/MyApp.app/Contents/MacOS/MyApp
Reason: image not found
Ich wäre sehr dankbar wenn jemand einen Tipp hätte was noch falsch sein könnte, da ich langsam verzweifle und das Programm schnellstmöglich brauche...
MfG Mr.Blonde.