Deployment Mac mit Frameworks

Alles zu Entwicklungsumgebungen und Editoren für Qt
Antworten
Mr.Blonde
Beiträge: 10
Registriert: 29. Juli 2010 12:14

Deployment Mac mit Frameworks

Beitrag von Mr.Blonde »

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:

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)
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:

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
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.
AuE
Beiträge: 918
Registriert: 5. August 2008 10:58

Beitrag von AuE »

Hast du die Anwendung mit macdeployqt OSX fähig gemacht?

So mache ich das bei mir -> das spart einen die nervigen install_name_tool sachen..... und kopiert einen alles in das app bundle.
Antworten