Frage

Ich habe ein großes spannendes C++-Projekt, das Folgendes beinhaltet:

  • 4 Anwendungen
  • Über 50 Bibliotheken
  • Über 20 Bibliotheken von Drittanbietern

Das Projekt verwendet QMake (Teil von Trolltechs Qt), um die Produktionsversion unter Linux zu erstellen, aber ich habe damit herumgespielt, sie unter MacOS zu erstellen.

Ich kann mit QMake problemlos in MacOS integrieren, habe aber Probleme beim Erstellen der endgültigen .app.Es müssen alle Frameworks und dynamischen Bibliotheken von Drittanbietern sowie alle dynamischen Bibliotheken des Projekts gesammelt und sichergestellt werden, dass die Anwendung sie findet.

Ich habe online über die Verwendung von install_name_tool gelesen, habe mich aber gefragt, ob es einen Prozess zur Automatisierung gibt.

(Vielleicht ist die Antwort die Verwendung von XCode, siehe verwandte Frage, aber es würde Probleme beim Erstellen von uic und moc geben.)

Danke

War es hilfreich?

Lösung

Ich bin mir sicher, dass dies eine große Hilfe für Sie sein könnte:

Deployqt

Hoffe das hilft !

Andere Tipps

Wir haben das gleiche Problem bei Last.fm. Ich habe mir DeployQt angesehen und es nützt nicht viel, wenn Sie Bibliotheken von Drittanbietern haben.Am Ende habe ich ein Perl-Skript geschrieben, das ein Makefile generiert, mit dem Sie eine .app- und/oder .dmg-Datei generieren können.

Ich habe es hier hochgeladen: http://www.methylblue.com/detritus/QMake.dmg/

Um es zu verwenden, fügen Sie Folgendes zur Profildatei Ihrer Anwendung hinzu:

 macx*:!macx-xcode:release {
     system( QT=\'$$QT\' QMAKE_LIBDIR_QT=\'$$QMAKE_LIBDIR_QT\' $$ROOT_DIR/common/dist/mac/Makefile.dmg.pl $$DESTDIR $$VERSION $$LIBS > Makefile.dmg )
     QMAKE_EXTRA_INCLUDES += Makefile.dmg   
}

Ich bin mir sicher, dass noch nicht alles portabel ist, aber es wäre gut, wenn jemand anderes es nutzen und prüfen würde, ob das der Fall ist.

Dies ist im Grunde die erste offizielle Veröffentlichung dieses Codes. Bitte senden Sie mir Fehlerberichte und auch Verbesserungen.Danke.

Ich habe dieses Problem vollständig umgangen, indem ich meine Qt-App statisch unter OS X erstellt habe.Das ist für Sie jedoch möglicherweise nicht praktikabel.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top