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 :

Qt en static sous Mac OS/XCode


Sujet :

Qt

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut Qt en static sous Mac OS/XCode
    Salut à tous!
    Je suis sous Mac et je souhaite compiler mon appli Qt en static.
    J'ai la version commerciale de Qt sous Mac OS. J'ai construit les libs statiques de Qt correctement. J'ai des trucs genre libQtWebkit.a.
    J'ai choisi dans XCode "static" pour "C++ Standard Library Type".
    J'ai indiqué les chemins des libs statiques.
    J'ai viré les AppKit.framework, Carbon.framework, ApplicationServices.framework de mon projet.
    Lorsque je compile avec les *.framework Qt nécessaires (dans mon cas QtWebkit.framework, QtCore.framework, QtGui.framework et QtNetwork.framework) cela marche bien, mon appli fonctionne. Quand je les vire et que je les remplace par les libs Qt statiques, cela ne marche pas. Il me manque des références. Et cela même si j'ai les framework et les libs en même temps dans le projet.
    En somme, la présence de mes libs posent problème.
    Est-ce que quelqu'un a une idée.

    Merci d'avance à tous!

  2. #2
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Ceci répond-il à ta question : [URL="http://qt.developpez.com/doc/latest/deployment-mac.html[/URL] ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Salut!
    Merci pour la réponse.
    J'ai vu cette ressource mais moi j'utilis XCode. Donc tout ce qui est make ne me concerne pas.
    En fait j'utilise libtorrent dans mon appli et avec qmake je n'ai pas réussi à compiler mon appli. Je suis allé sur le forum de libtorrent et on m'a bien spécifié que qmake ne compile pas libtorrent.
    Par contre avec XCode, ça marche. Seulement j'ai le problème que j'ai décrit dans mon premier post.

    Une autre idée? Si quelqu'un a déjà construit une appli Qt static avec XCode.

    Merci à tous.

  4. #4
    Membre chevronné
    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
    Par défaut
    Salut !
    Citation Envoyé par Rolf Le Saint Voir le message
    J'ai vu cette ressource mais moi j'utilis XCode. Donc tout ce qui est make ne me concerne pas.
    Je crains que du "tout XCode" marche pas très bien (a vérifier)... Cependant, toutes les options dont il est question dans le lien indiqué plus haut sont comme même à changer dans les options de compilations de XCode... Faut juste retrouver à quelle ligne cela correspond !

    En fait j'utilise libtorrent dans mon appli et avec qmake je n'ai pas réussi à compiler mon appli. Je suis allé sur le forum de libtorrent et on m'a bien spécifié que qmake ne compile pas libtorrent.
    Par contre avec XCode, ça marche. Seulement j'ai le problème que j'ai décrit dans mon premier post.
    Ca c'est un autre soucis... Tu dois compiler ta bibliothèque séparément, et ensuite rajouter le nécessaire dans les options de compilation (que ce soit XCode ou qmake) pour dire au compilateur de lier tes binaires avec libtorrent...

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Salut!
    Merci pour vos réponses.
    J'ai réussi à compiler avec QMake. J'ai dû modifier les include dans libtorrent et maintenant ça marche.
    Le problème c'est que j'obtiens un exécutable que je trouve plutôt lourd : 29Mo alors que la même appli sous windows ne me faisait que 4Mo. Est ce normal une telle différence?

    Je vous remercie!

  6. #6
    Membre chevronné
    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
    Par défaut
    Citation Envoyé par Rolf Le Saint Voir le message
    Le problème c'est que j'obtiens un exécutable que je trouve plutôt lourd : 29Mo alors que la même appli sous windows ne me faisait que 4Mo. Est ce normal une telle différence?
    Sans doute que oui... dans le sens où Qt étant compilé de manière statique, toutes les bibliothèques sont dans l'exécutable : ce dernier se retrouve donc plus lourd... (Surtout au vu du poids de QtGui...)
    Après, par comparaison entre Windows & Mac, les bibliothèques Qt sont plus petites sur Windows que sur Mac. Cependant, si tu obtiens un exe de 4Mo sous Windows, c'est qu'il est compilé en dynamique (à moins que tu n'utilises pas QtGui ou QtWebKit), donc pour comparer il faut compter la taille des dlls...

  7. #7
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Salut!
    Merci pour la réponse.
    J'ai aussi fini par penser que cela est normal étant donné les tailles des exécutables dans les exemples de Qt.
    Cependant, j'aimerais savoir s'il est possible de compiler une appli sans y incorporer les framework Carbon, AppKit, ApplicationServices.

    Merci les gars!

  8. #8
    Membre chevronné
    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
    Par défaut
    Citation Envoyé par Rolf Le Saint Voir le message
    Cependant, j'aimerais savoir s'il est possible de compiler une appli sans y incorporer les framework Carbon, AppKit, ApplicationServices.
    Mmm... Je crains que non. Il me semble que ces frameworks sont utilisés par les différents modules de Qt... Cependant, comme ils sont en natifs sur les Mac une liaison en dynamique avec tes binaires suffit !

  9. #9
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Salut!
    Ah d'accord!
    En réalité je m'en doutais un peu.
    Je crois que par défaut il sont dynamiquement liés.
    J'ai fait un strip sur l'appli et je suis passé de 29 à 24Mo. Ce qui n'est pas mal.
    Je vais tout de même voir si je n'ai pas d'objet dont je ne me sers pas dans mon code.
    Merci beaucoup.

  10. #10
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Sinon j'ai une autre question.
    Est ce qu'avec une autre librairie graphique on pourait obtenir une appli moins lourde que celle obtenue avec Qt. En gros une même appli développée une première fois avec Qt et une autre fois avec une autre librairie graphique, est ce qu'il peut y avoir une grande différence au niveau de la taille?

    Merci!

  11. #11
    Membre chevronné
    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
    Par défaut
    Citation Envoyé par Rolf Le Saint Voir le message
    Sinon j'ai une autre question.
    Est ce qu'avec une autre librairie graphique on pourait obtenir une appli moins lourde que celle obtenue avec Qt.
    Oui. Il faut juste trouvée une lib moins grosse... TU peux aussi recompiler Qt avec juste ce dont tu as besoin...
    Ou si tu développes que pour Mac, tu peux utiliser les bibliothèques natives, qui sont sur tous les Mac, et qui te dispense de fournir la bibliothèque avec ton appli.

    En gros une même appli développée une première fois avec Qt et une autre fois avec une autre librairie graphique, est ce qu'il peut y avoir une grande différence au niveau de la taille?
    Je ne suis pas sûr de bien te comprendre. Les GUI étant tellement spécifiques d'une lib à l'autre que si tu développes une appli Qt et que tu veux ensuite en développer cette même appli avec une autre lib, tu es obligé de tout refaire (ou à peu près)...

  12. #12
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Et quand tu dis compiler juste avec ce dont tu as besoin, tu veux dire quoi et comment je m'y prends?
    En plus je ne sais ce que je peux virer en créant mes libs Qt.
    Les modules que j'utilise sont QtCore (obligé), QtGui (obligé aussi) et QtWebkit.
    Comment puis savoir ce que je peux virer pour recompiler.

  13. #13
    Membre chevronné
    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
    Par défaut
    Citation Envoyé par Rolf Le Saint Voir le message
    Et quand tu dis compiler juste avec ce dont tu as besoin, tu veux dire quoi et comment je m'y prends?
    En plus je ne sais ce que je peux virer en créant mes libs Qt.
    Les modules que j'utilise sont QtCore (obligé), QtGui (obligé aussi) et QtWebkit.
    Comment puis savoir ce que je peux virer pour recompiler.
    Il faut que tu recompiles Qt complètement, ce qui je le reconnais n'est pas une mince affaire, avec des options de compilations du style "QT_NO_*" qui permettent entre autre, de ne pas compiler tous les QWidget... J'ai vu ces macros de préprocesseurs dans le code source de Qt, et il me semble qu'il y a quelques posts qui parlent de ça sur ce forum...
    Après si tu peux te passer de QWebKit, enlève le : il est très lourd et sous Mac ne fonctionne pas très bien...

  14. #14
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    Citation Envoyé par Fabllot Voir le message
    Après si tu peux te passer de QWebKit, enlève le : il est très lourd et sous Mac ne fonctionne pas très bien...
    Petite curiosité, qu'as-tu constaté comme problème sous mac ? (je suis surpris dû au fait que webkit est utilisé par une panacée d'appli Apple/OSX en fait, c'est vraiment que TT ce serait mangé les pieds dans le tapis avec ce portage :s)

  15. #15
    Membre chevronné
    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
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Petite curiosité, qu'as-tu constaté comme problème sous mac ? (je suis surpris dû au fait que webkit est utilisé par une panacée d'appli Apple/OSX en fait, c'est vraiment que TT ce serait mangé les pieds dans le tapis avec ce portage :s)
    En fait, mes problèmes surviennent quand j'utilise le QtWebKit en dynamique et que je le déploie avec l'application comme indiqué dans la doc Qt. A partir de ce moment là, si je lance mon appli sur un Mac sans Qt installé en natif, l'appli plante à la première instanciation d'un objet du QtWebKit... J'ai fait remonté l'info à Trolltech-Nokia mais ils ont été incapable d'identifier le problème...

    Après c'est sans doute un jugement hâtif de ma part, mais le QtWebKit a été intégré avec la version 4.4 comme un certain phonon qui me donne aussi beaucoup de fil à retordre sous Qt... J'attends donc impatiemment la version 4.5 histoire de voir si il y a des améliorations...

  16. #16
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Salut!
    J'ai enlevé le webkit de mon appli et j'ai gagné énormement de place. Je suis arrivé à 13 Mo.
    Mais je dois afficher une page html dans un cadre de mon appli.
    Y a-t-il moyen d'afficher une page html en communicant l'url sans passer par un QWebView? J'en doute mais en ne sait jamais.

  17. #17
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Regarde si qtextbrowser te suffit
    http://qt.developpez.com/doc/latest/...r.html#details

  18. #18
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Salut à tous!
    J'ai essayé le QTextBrowser. Cela m'arrange car j'arrive à faire ce que je souhaite. Seulement il y a un tout de même un petit souci.
    C'est qu'à la base j'affichais la page dans un cadre de 326x216 et elle s'affichait tel qu'elle a été créée. Elle avait sa propre scrollbar et mon webview n'en affichait pas. Mais là, j'affiche la page mais le format a chgé. Donc la police a changé et le texte est maintenant trop grand pour le cadre. Du coup le browser me sort une scrollbar.
    Voici le code que j'utilise pour afficher la page (j'ai ajouté la page dans mes ressources pour l'embarquer dans l'appli)

    QFile file("pageHtml");
    if (file.open(QIODevice::ReadOnly))
    textBrowser->setHtml(file.readAll());


    Quelqu'un sait-il comment garder le format original de la page html?

    Merci à tous

  19. #19
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035

  20. #20
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Salut à tous!
    J'ai essayé plusieurs trucs avec QTextBrowser mais le résultat est le même.
    Voici la page que je veux afficher dans mon cadre http://www.war-europe.com/downloader/fr/downloader.html.
    Je veux afficher le texte tel quel. Mon cadre fait les bonnes dimensions pile poil. Avec QWebView, j'affichais uniquement la page comme il fallait (Uniquement le texte avec le bon format, les couleurs, les polices et la scrollbar) tout bien correctement. Mais avec QtextBrowser, le texte est reformaté, avec une police standard. La scrollbar de la page html ne s'affiche pas car laissant place à la scrollbar du QTextBrowser.
    Vous n'avez qu'à essayer pour voir. Et si ça ne dérange pas, essayer avec un QWebview en donnant les dimensions 326x216
    Si quelqu'un a une astuce pour afficher la page telle quelle avec un QTextBrowser, je suis preneur.

    Merci à tous!

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/06/2015, 12h17
  2. [Développement] Application SMS [xCode sous MAC]
    Par Ju31700 dans le forum Objective-C
    Réponses: 0
    Dernier message: 17/03/2011, 20h19
  3. Réponses: 3
    Dernier message: 27/04/2009, 16h53
  4. opengl sous mac os avec xCode
    Par shams dans le forum OpenGL
    Réponses: 5
    Dernier message: 01/04/2007, 18h52

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