2008-08-25 6 views
3

J'ai une grande sortie C++ projet impliquant:QMake pour générer un bon .app

  • 4 applications
  • 50+ bibliothèques
  • 20+ bibliothèques tierces

Le projet utilise QMake (une partie de Qt de Trolltech) pour construire la version de production sous Linux, mais j'ai commencé à la développer sur MacOS.

Je peux construire sur MacOS en utilisant QMake très bien, mais j'ai du mal à produire le dernier .app. Il a besoin de rassembler tous les frameworks tiers et les bibliothèques dynamiques, toutes les bibliothèques dynamiques du projet et de 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 y avait un processus pour l'automatiser.

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

Merci

Répondre

3

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

deployqt

Hope this helps!

0

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

2

Nous avons le même problème sur Last.fm, j'ai regardé DeployQt et ce n'est pas très utile si vous avez des bibliothèques tierces. À la fin j'ai écrit un script perl qui génère un Makefile, que vous pouvez utiliser pour générer un fichier .app et/ou .dmg.

J'uploadés ici: http://www.methylblue.com/detritus/QMake.dmg/

Pour l'utiliser inscrire dans le 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 ce n'est pas encore tout portable, mais il serait bon pour quelqu'un d'autre à utiliser et voir si c'est le cas.

Ceci est fondamentalement la première version officielle de ce code, alors s'il vous plaît envoyez-moi des rapports de bogues, et aussi, des améliorations. Merci.

Questions connexes