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 Creator Discussion :

Cross-compilation


Sujet :

Qt Creator

  1. #1
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut Cross-compilation
    Bonjour!

    Je voudrais tester ma petite application Qt sur MacOS. Je n'en ai pas sous la main mais j'ai pas mal d'amis qui en ont. Je pensais donc pouvoir cross-compiler mon application pour MacOSX depuis mon Windows Xp.

    Ne trouvant pas l'option dans QtCreator (j'utilise VS pour développer mais pour cross compiler j'imagine qu'il faut passer par mingw donc autant passer par Qt Creator) j'ai cherché sur le net et suis tombé surle site de Nokia qui dit qu'ils ne supportent pas la cross compilation.

    Aurais-je eu tord de penser que ce soit possible? Je ne trouve pas de document qui m'indique comment cross-compiler a partir de QtCreator. A priori il faudrait compiler "a la main" avec MingWin pour pouvoir cross-compiler?

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    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 619
    Points : 188 594
    Points
    188 594
    Par défaut
    Salut,

    Un cross-compilo, c'est un compilo qui n'est pas natif. C'est tout : tu ne pourras pas lancer les binaires sur ta machine, un point c'est tout. Ça signifie qu'il s'appelle comme tout compilateur ; si tu le mets comme compilo dans Qt Creator, avec VS, ça devrait passer.
    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
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Bonjour Klaim

    Sauf erreur de ma part, pour compiler sous max, il faut utiliser XCode (http://developer.apple.com/technology/xcode.html) et pas Mingw (=minimal gnu for windows). Or XCode n'est pas dispo sous windows ! Donc, a ma connaissance, pas de cross compilation mac sous win.

    Par contre, ça fonctionne sous linux vers win et mac (avec gcc je crois)

    Comme le dit dourouc05, tu ne pourras pas executer ton programme sans mac. Par contre, tu peux ajouter des tests unitaires qui permettent de tester, lors de la compilation, que le programme fonctionne correctement.

    Pour résumé, les problèmes de portabilité et de cross-compilation ne sont pas évident. Donne simplement tes sources et laisse les autres compiler directement sous mac.

    bon courage

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    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 619
    Points : 188 594
    Points
    188 594
    Par défaut
    MinGW reprend l'entièreté des sources de GCC (du moins, la dernière fois que je les ai utilisées), donc aussi les back-ends pour les autres OS, comme OSX. Il apporte juste les back-ends nécessaires à la compilation pour et sous Windows, donc il me semble que c'est le paquet le plus approprié (tu peux aussi essayer avec les sources de GCC vanilla, mais c'est plus... aléatoire).

    De toute façon, il te faudra impérativement un compilateur vers OSX, donc deux choix : natif ou cross. Si tu n'as pas de Mac sous la main, passe au cross (malheureusement, pas le choix). Tu peux jeter un coup d'oeil ici : http://tcuvelier.developpez.com/cross-gcc/gcc-cross/. Ça part de Windows vers Linux, mais tu n'as que quelques mots à changer pour que ça passe vers OSX (--target=x86_64-darwin, à vérifier avec configure.sub des sources des binutils et autres). L'idéal est quand même de partir d'une machine Linux (ça compile bien plus facilement !).

    Pour info, sous Mac, XCode est l'EDI (comme Qt Creator, Visual Studio, Code::Blocks). Il utilise GCC pour la compilation proprementdite.
    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
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Merci, j'avais bien compris que je ne pourrais pas executer l'application, je veux juste la compiler et l'envoyer a des amis pour test.

    Ok donc je vais faire simple et juste trouver un accès à (ou acheter) un mac, ça sera le plus simple j'imagine.

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    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 619
    Points : 188 594
    Points
    188 594
    Par défaut
    Citation Envoyé par Klaim Voir le message
    Ok donc je vais faire simple et juste trouver un accès à (ou acheter) un mac, ça sera le plus simple j'imagine.
    Très simple, trop presque, mais, si tu l'achètes, fais attention au porte-feuille ! (Et, par la même occasion, si tu pouvais compiler Qt sur Mac pour intégration aux binaires...).
    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 !

  7. #7
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Ah, je savais bien avoir déjà vu un tuto sur la cross-compilation mais je le trouvais plus

    Pour mingw et xcode, tu m'apprends des choses (je travaille pas sous mac et j'évite sous windows)

  8. #8
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    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 619
    Points : 188 594
    Points
    188 594
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Ah, je savais bien avoir déjà vu un tuto sur la cross-compilation mais je le trouvais plus

    Pour mingw et xcode, tu m'apprends des choses (je travaille pas sous mac et j'évite sous windows)
    Ce n'est psa le seul qui existe sur Dvp, mais bien le seul et l'unique en français qui parte de Windows (même en anglais, il n'y en a pas beaucoup, du moins à l'époque de la rédaction).

    Moi non plus, je ne travaille pas sous OSX, mais ça ne m'empêche pas d'avoir un peu de culture générale .
    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 !

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/12/2008, 02h01
  2. gcj pour cross compiler pour PPC
    Par obelix dans le forum Langage
    Réponses: 7
    Dernier message: 09/10/2006, 09h38
  3. Cross-compil pour MAC
    Par Ulmo dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 29/09/2006, 19h49
  4. Cross compil "ntohs"
    Par youte dans le forum Linux
    Réponses: 5
    Dernier message: 21/06/2006, 09h28
  5. cross compilation
    Par jowy dans le forum C++Builder
    Réponses: 11
    Dernier message: 26/08/2005, 16h23

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