IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Déploiement application Qt sur Mac OS X


Sujet :

Qt

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut Déploiement application Qt sur Mac OS X
    Salut tout le monde, j'ai porté mon application Qt depuis vers Mac OS X 10.4.6 Tiger PowerPC G4. Après correction des bugs tout fonctionne correctement. J'ai voulu déployer mon application en suivant les instructions dans le document de trolltech depuis http://qt.developpez.com/doc/latest/deployment-mac.html, mais lorsque je teste le bundle sur un MAC OS 10.4.10 Tiger, l'application ne démarre même pas. Voici les instructions que j'ai exécuté :
    -------------------------------------------------------------
    cd /Users/idriss/Projets/Deploy_Autonome/autonome/build/Release

    **************************************************************************************************
    cd /Projets/Deploy_Autonome/autonome/buid/Release/Autonome.app/Contents
    mkdir Frameworks
    cp -R /Volumes/Dev/Library/Frameworks/QtCore.framework Frameworks
    cp -R /Volumes/Dev/Library/Frameworks/QtGui.framework Frameworks
    cp -R /Volumes/Dev/Library/Frameworks/QtSql.framework Frameworks
    cp -R /Volumes/Dev/Library/Frameworks/Qt3Support.framework Frameworks
    cp -R /Volumes/Dev/Library/Frameworks/QtXml.framework Frameworks
    cp -R /Volumes/Dev/Library/Frameworks/QtNetwork.framework Frameworks

    **************************************************************************************************
    install_name_tool -id @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/Frameworks/QtCore.framework/Versions/4.0/QtCore

    install_name_tool -id @executable_path/../Frameworks/QtGui.framework/Versions/4.0/QtGui Autonome.app/Contents/Frameworks/QtGui.framework/Versions/4.0/QtGui

    install_name_tool -id @executable_path/../Frameworks/QtSql.framework/Versions/4.0/QtSql Autonome.app/Contents/Frameworks/QtSql.framework/Versions/4.0/QtSql

    install_name_tool -id @executable_path/../Frameworks/Qt3Support.framework/Versions/4.0/Qt3Support Autonome.app/Contents/Frameworks/Qt3Support.framework/Versions/4.0/Qt3Support

    install_name_tool -id @executable_path/../Frameworks/QtXml.framework/Versions/4.0/QtXml Autonome.app/Contents/Frameworks/QtXml.framework/Versions/4.0/QtXml

    install_name_tool -id @executable_path/../Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork Autonome.app/Contents/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork


    **************************************************************************************************
    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/MacOs/Autonome

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtGui.framework/Versions/4.0/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/4.0/QtGui Autonome.app/Contents/MacOs/Autonome

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtSql.framework/Versions/4.0/QtSql @executable_path/../Frameworks/QtSql.framework/Versions/4.0/QtSql Autonome.app/Contents/MacOs/Autonome

    install_name_tool -change /Volumes/Dev/Library/Frameworks/Qt3Support.framework/Versions/4.0/Qt3Support @executable_path/../Frameworks/Qt3Support.framework/Versions/4.0/Qt3Support Autonome.app/Contents/MacOs/Autonome

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtXml.framework/Versions/4.0/QtXml @executable_path/../Frameworks/QtXml.framework/Versions/4.0/QtXml Autonome.app/Contents/MacOs/Autonome

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork Autonome.app/Contents/MacOs/Autonome
    **************************************************************************************************
    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/Frameworks/QtGui.framework/Versions/4.0/QtGui

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/Frameworks/QtSql.framework/Versions/4.0/QtSql

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/Frameworks/Qt3Support.framework/Versions/4.0/Qt3Support

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/Frameworks/QtXml.framework/Versions/4.0/QtXml

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork


    ************************ PLUGINS ************************************************
    mkdir Autonome.app/Contents/plugins
    cp /Volumes/Dev/Developer/Applications/Qt/plugins/sqldrivers/libqsqlibase.dylib Autonome.app/Contents/plugins


    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtCore.framework/Versions/4.0/QtCore @executable_path/../Frameworks/QtCore.framework/Versions/4.0/QtCore Autonome.app/Contents/plugins/libqsqlibase.dylib

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtGui.framework/Versions/4.0/QtGui @executable_path/../Frameworks/QtGui.framework/Versions/4.0/QtGui Autonome.app/Contents/plugins/libqsqlibase.dylib

    install_name_tool -change /Volumes/Dev/Library/Frameworks/Qt3Support.framework/Versions/4.0/Qt3Support @executable_path/../Frameworks/QtSql.framework/Versions/4.0/QtSql Autonome.app/Contents/plugins/libqsqlibase.dylib

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtSql.framework/Versions/4.0/QtSql @executable_path/../Frameworks/Qt3Support.framework/Versions/4.0/Qt3Support Autonome.app/Contents/plugins/libqsqlibase.dylib

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtXml.framework/Versions/4.0/QtXml @executable_path/../Frameworks/QtXml.framework/Versions/4.0/QtXml Autonome.app/Contents/plugins/libqsqlibase.dylib

    install_name_tool -change /Volumes/Dev/Library/Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork @executable_path/../Frameworks/QtNetwork.framework/Versions/4.0/QtNetwork Autonome.app/Contents/plugins/libqsqlibase.dylib
    Est ce il y quelqu'un qui a une idée sur ce problème ? Y a t il quelqu'un qui a une solution pour ça.
    Je vous remercie d'avance.

  2. #2
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    Je vais pas surement pas être d'une grande aide puisque j'ai jamais déployé d'application Qt sur Mac. Mais pour essayer de faire un petit peu avancer le problème, j'aimerais savoir quand tu dis que l'application ne démarre pas s'il y a un quelconque message qui s'affiche pour signaler une erreur. Parce que pour moi soit il peut pas démarrer parce qu'il lui manque par exemple une lib et il devrait le signaler, soit il démarre et ensuite peut planter, se terminer trop rapidement ou autre.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Salut !

    Où en es-tu a avec ton problème ?
    J'essaie aussi de déployer une application Qt sur Mac, à partir des mêmes méthodes que toi et j'ai aussi quelques soucis...

    Quand j'utilise l'outil "otool" les liens de l'application sont les mêmes qu'avant les "install_name_tool"...

    De plus, je crée une bibliothèque dynamique (qui correspond sous Windows à une dll) : est-ce que ce qui est appellé "plugin" par qt (ou mac) est en fait des bibliothèques dynamiques ? Dans ce cas, j'ai tout de même essayé de considérer ma bibliothèque comme un plugin en utilisant les même outils que toi et j'obtiens au final un plantage au démarrage : il ne parvient pas à trouver ma bibliothèque (a priori il trouve les frameworks, mais lesquels je ne sais pas !)

    Merci de votre aide !

  4. #4
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    276
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 276
    Points : 83
    Points
    83
    Par défaut
    Salut, bon mon problème est résolu enfin mais vraiment après bcp d'effort que je veux t'éparger.
    Alors la procédure est de :
    1) télécharger un outil qui s'appelle deployqt depuis http://labs.trolltech.com/blogs/2007...ut-the-hassle/

    2) Aller ou se situe ton Application.app et y coller deployqt

    3) taper ./deployqt Application.app Chemin/Qt/plugins/sqldriver

    4) Aller Dans Application.app/Contents/plugins et déplacer les fichiers .dylib dans sqldriver

    Normalement après tout ça tu aura les plugins qt qui sont référencés à ton application et tu peux t'en assurer avec otool.

    Si tu a une dépendance d'une librairie externe alors tu dois elle aussi la lier avec ton application en utlisant install_name_tool.
    J'espère que ça t'aidera sinon on verra ça de plus près.
    Bon travail.

  5. #5
    Membre régulier Avatar de shams
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 210
    Points : 83
    Points
    83
    Par défaut
    bonjour!

    j'ai quelques soucis pour déployer mon app Qt. Voici le résultat de otool:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	@executable_path/../Frameworks/libfmodex.dylib (compatibility version 1.0.0, current version 1.0.0)
    	/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
    	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.3)
    	@executable_path/../Frameworks/Ogre.framework/Versions/A/Ogre (compatibility version 1.0.0, current version 1.0.0)
    	@executable_path/../Frameworks/Cg.framework/Cg (compatibility version 0.0.0, current version 0.0.0)
    	/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
    	QtWebKit.framework/Versions/4/QtWebKit (compatibility version 4.4.0, current version 4.4.3)
    	QtNetwork.framework/Versions/4/QtNetwork (compatibility version 4.4.0, current version 4.4.3)
    	QtGui.framework/Versions/4/QtGui (compatibility version 4.4.0, current version 4.4.3)
    	/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 136.0.0)
    	/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 949.43.0)
    	QtCore.framework/Versions/4/QtCore (compatibility version 4.4.0, current version 4.4.3)
    	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
    	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
    j'ai essayé différentes méthodes, impossible de faire marcher mon appli. Le mieux que j'ai réussi à faire, c'est qu'au lieu d'avoir le rapport d'erreur sur une librairie non trouvé, c'est à l'init d'un widget que ca a semble-t-il merdouillé. je précise qu'avec xCode, tout marche nickel...
    EDIT : j'ai pas réussi à copier la petite application donnée précédement.. O_o

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    QtWebKit.framework/Versions/4/QtWebKit (compatibility version 4.4.0, current version 4.4.3)
    Aïe ! Pas Bon ! Tous pleins de problèmes avec le QtWebKit sous Mac...
    Ma solution : l'oublier !!!

Discussions similaires

  1. [AC-2007] Application Access sur Mac
    Par Godard dans le forum Access
    Réponses: 1
    Dernier message: 08/11/2012, 09h56
  2. [GWT2.3] Déploiement application GWT sous MAC
    Par valkeke dans le forum GWT et Vaadin
    Réponses: 9
    Dernier message: 09/02/2012, 23h40
  3. Déploiement application MVC3 sur windows server 2003
    Par alexxxx69 dans le forum ASP.NET MVC
    Réponses: 4
    Dernier message: 13/12/2011, 17h02
  4. Réponses: 6
    Dernier message: 23/03/2011, 02h32
  5. Déploiement Eclipse RCP sur Mac OX
    Par henpower dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 20/12/2009, 12h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo