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 :

Portage et optimisation


Sujet :

Qt

  1. #1
    Candidat au Club
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Portage et optimisation
    Bonjour !

    Voila j'ai un projet que j'aimerais porter sous Linux. Et en réalité j'ai un peu de mal à bien comprendre comment le rendre "indépendant" de la plateforme sur laquelle je travail, c'est à dire Windows.

    J'ai déjà repéré certains points ou j'utilise par exemple une librairie spécifique à Windows "windows.h" que j'ai entouré d'un "ifndef WIN32" pour insérer un futur code spécial Linux.

    Mais j'ai un peu de mal à bien voir comment, avec Qt, je peux rendre mon code C++ totalement indépendant de la plateforme courante. Je m'embrouille un peu avec ce que je vois sur internet ou dans les docs.

    En réalité je ne sais pas par ou commencer, je viens ici car j'ai besoin d'un fil directeur, un "coup de pouce" pour bien comprendre par où il faudrait regarder ...
    Parce que je ne sais pas si il faut modifier certaines fonction avec des fonctions Qt par exemple, pour que le tout soit indépendant. Si il faut utiliser des types plutôt que d'autres, etc ...

    Auriez-vous un conseil à me donner ?

    Merci

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 609
    Points : 188 580
    Points
    188 580
    Par défaut


    En gros, si tu n'utilises que Qt, ton code est parfaitement portable.

    La règle générale est un peu excessive : la doc précise clairement quand certaines choses ne sont disponibles que pour l'une ou l'autre plateforme pour le moment (tu n'as généralement pas besoin de celles-là sur d'autres) ; parfois, quand la fonctionnalité est vraiment intrinsèquement liée à la plateforme, la classe comporte ce nom (pour OSX, les classes en QMac*, comme QMacCocoaViewContainer, voir http://qt-project.org/doc/qt-5.0/qtdoc/classes.html#m). Si tu les évites, tu auras peu de problèmes (KDE a été porté sur d'autres plateformes, comme Windows, sans trop de dégâts).

    Pour les types, la plateforme peut influencer leur taille : Qt définit des qint* et quint* dans ce cas, tu es sûr d'avoir exactement la taille demandée, quelle que soit la plateforme.

    Après, le déploiement sur d'autres plateformes peut être une autre paire de manches .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Candidat au Club
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Ah ça marche avec du Qt partout ? Même pas besoin de faire attention à certaines fonction C++ qui pourraient ne pas être compatibles ?

    Du coup j'ai juste à chercher si il y a des parties "non Qt-isées" et voir leur équivalent Qt et à priori je peux compiler sous Linux ?

    Donc toutes les fonctions "standardes" de C++ ne sont pas à modifier spécialement, pas de soucis ?

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 609
    Points : 188 580
    Points
    188 580
    Par défaut
    Citation Envoyé par xaltar6 Voir le message
    Du coup j'ai juste à chercher si il y a des parties "non Qt-isées" et voir leur équivalent Qt et à priori je peux compiler sous Linux ?
    /A priori/, tu n'auras pas de problème majeur (sauf si tu compiles avec VC sous Windows, auquel cas tu auras des problèmes avec les incompatibilités avec GCC, soit pas grand-chose, sauf si tu navigues dans la zone de C++11 supportée par l'un mais pas par l'autre).

    Citation Envoyé par xaltar6 Voir le message
    Donc toutes les fonctions "standardes" de C++ ne sont pas à modifier spécialement, pas de soucis ?
    Avec des bibliothèques standard modernes, des compilateurs modernes, il ne devrait y avoir que peu de problèmes.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Candidat au Club
    Inscrit en
    Février 2013
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Okay bah merci ^^

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 350
    Points : 42 818
    Points
    42 818
    Par défaut portage appli qt
    Xaltar,

    Comme le dis Dourouc, pas de prob majeur avec du code entièrement Qt, Pour la gestion des fenêtres, Qt contient tout ce qu'il faut, pour l'aspect hors fenêtres les types genre QChar,QString permettent une bonne portabilité

    La gestion des ressources avec Qt permet d'intégrer facilement des fichiers externes (type logo, etc ...).

    Pour le C pur, tant que tu utilise la bibliothèque standard...

    Expérience perso, j'ai commencé à développer sous Linux,est recopié mes fichiers .c,.h .pro sous Windows, est tapé qmake, puis make et mon projet a fonctionné sous Windows sans aucune différence. On ne peut pas faire plus portable. J'ai juste du ajouter le bloc suivant dans mon .pro de façon à pouvoir utiliser qDebug
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    win32{
      CONFIG += console
    }
    Après modifs sous windows,j'ai rebasculé sous linux pour tester: toujours pas de probs.

    Tu peux même compiler pour les téléphones mobiles.Je crois que Qt5 a fait un gros boulot là-dessus. J'ai vu d'excellents articles sur le forum
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation de votre SGBDR et de vos requêtes...
    Par SQLpro dans le forum Langage SQL
    Réponses: 35
    Dernier message: 11/01/2013, 12h49
  2. [VB6] [BDD] Optimisation de l'accès aux données
    Par LadyArwen dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/01/2003, 14h27
  3. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 09h47
  4. [Kylix] portage d'application kylix3
    Par lefort dans le forum EDI
    Réponses: 1
    Dernier message: 14/11/2002, 22h23
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 11h24

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