Question

J'ai un grand projet C++ existant impliquant :

  • 4 candidatures
  • 50+ bibliothèques
  • Plus de 20 bibliothèques tierces

Le projet utilise QMake (qui fait partie de Qt de Trolltech) pour créer la version de production sous Linux, mais j'ai essayé de la construire sur MacOS.

Je peux très bien intégrer MacOS en utilisant QMake, mais j'ai du mal à produire le .app final.Il faut collecter tous les frameworks tiers et bibliothèques dynamiques, toutes les bibliothèques dynamiques du projet et s'assurer que l'application les trouve.

J'ai lu en ligne sur l'utilisation de install_name_tool mais je me demandais s'il existe un processus pour l'automatiser.

(Peut-être que la réponse est d'utiliser XCode, voir la question connexe, mais cela poserait des problèmes avec la construction de l'uic et du moc)

Merci

Était-ce utile?

La solution

Je suis sûr que cela pourrait être d'une grande aide pour vous :

déployerqt

J'espère que cela t'aides !

Autres conseils

Nous avons le même problème chez Last.fm, j'ai regardé DeployQt et cela ne sert pas à grand-chose si vous avez des bibliothèques tierces.Au final, j'ai écrit un script Perl qui génère un Makefile, que vous pouvez utiliser pour générer un .app et/ou .dmg.

Je l'ai téléchargé ici : http://www.methylblue.com/detritus/QMake.dmg/

Pour l'utiliser, ajoutez ceci au fichier pro de votre application :

 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   
}

Je suis sûr que tout n'est pas encore portable, mais ce serait bien que quelqu'un d'autre l'utilise et voie si c'est le cas.

Il s'agit essentiellement de la première version officielle de ce code, alors envoyez-moi des rapports de bogues, ainsi que des améliorations.Merci.

J'ai complètement évité ce problème en créant mon application Qt de manière statique sur OS X.Cela n’est peut-être pas pratique pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top