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

 C++ Discussion :

Créer un logiciel multiplateforme


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut Créer un logiciel multiplateforme
    Bonjour,

    Je débute en java, et j'ignore s'il est possible de créer un logiciel multiplateforme en C++. J'aimerai le graver sur cd et pouvoir l'installer aussi bien sur linux, windows xp ou seven, mac etc

    Est-ce possible? comment faire?

    Un ami m'a parlé d'ajouter à l’exécutable des .dll, et j'ai rien compris!

    Merci par avance pour votre aide.

    B65ACR

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Tu peux avoir un code multi-plateformes (s'il n'est pas trop bas niveau), mais tu auras un binaire (ou un jeu de binaires) par plate-forme.

  3. #3
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Le code ne sera pas de très bas niveau. Un peu plus précisément, et en prenant en exemple le bout de code ci dessous, comment faire?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    #include <iostream>
    #include <stdio.h>
    using namespace std;
     
    class maClasse
    {
     
    public:
        int a;
        maClasse()
        {
            a=555;
            cout << a << endl;
            cout << "constructeur\n";
        }
        ~maClasse()
        {
            cout << "destructeur\n";
        }
    };
     
    main()
    {
    maClasse C;
    }

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par B65AcR Voir le message
    Bonjour,

    Je débute en java, et j'ignore s'il est possible de créer un logiciel multiplateforme en C++. J'aimerai le graver sur cd et pouvoir l'installer aussi bien sur linux, windows xp ou seven, mac etc

    Est-ce possible? comment faire?
    regarde du coté de Qt. Cela peut peut-être te convenir

    http://qt-project.org/

  5. #5
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    ok merci.

    Je n'ai encore jamais utilisé Qt. Est-ce que quelqu'un a déjà consu un logiciel "maison" grâce a Qt, et pu le ensuite le rendre multiplateforme?

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par B65AcR Voir le message
    ok merci.

    Je n'ai encore jamais utilisé QT. Est-ce que quelqu'un a déjà consu un logiciel "maison" grâce a QT, et pu le ensuite le rendre multiplateforme?


    http://qt.developpez.com/actu/67692/...ration-a-OS-X/

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Points : 4 551
    Points
    4 551
    Par défaut
    Citation Envoyé par B65AcR Voir le message
    Bonjour,

    Je débute en java, et j'ignore s'il est possible de créer un logiciel multiplateforme en C++. J'aimerai le graver sur cd et pouvoir l'installer aussi bien sur linux, windows xp ou seven, mac etc

    Est-ce possible? comment faire?

    Un ami m'a parlé d'ajouter à l’exécutable des .dll, et j'ai rien compris!

    Merci par avance pour votre aide.

    B65ACR
    Qu'est-ce que tu entends par "multiplateforme" ?

    Si tu parles de fichiers binaires (exécutables) qui peuvent s'exécuter sur des architecture matérielles et/ou logicielles différentes, la réponse est "non, C++ ne peut pas faire ça".

    Si tu parles de code source qui peut être compilé pour plusieurs architectures matérielles et/ou logicielles différentes, alors la réponse est "oui, C++ peut faire ça, mais il faut compiler le code pour chaque cible - Windows, Linux, Mac OS X". C++ est un langage portable, c'est à dire que le langage lui-même (avec la librairie standard) est supporté par de nombreuses architecture matérielles et logicielles. Le même code source C++ peut être utilisé pour générer un exécutable Linux sur processeur Mips, un exécutable iOS sur processeur ARM, ou un exécutable Windows sur x86. La limite n'est pas dans le langage lui-même ni dans sa librairie standard, bien que celle-ci soit pauvre si on la compare à la librairie proposée par Java ou à celle proposée par le framework .Net.

    La plus grosse problématique vient du fait que les systèmes sont très largement différents, notamment au niveau de la gestion des fenêtres et de l'accès aux couches basses du système (même quelque chose comme accéder à un fichier sera fait de manière légèrement différente à cause du format des chemins de fichier). Pour éliminer les problèmes liés à ces différences, on utilise des librairies spécifiques qui vont étendre la librairie standard du C++. Ces librairies, du fait de leur disponibilité sur plusieurs architectures cibles, sont dites "portables" elles aussi. Et l'une des plus emblématiques, c'est la librairie Qt, qui permet de gérer entre autre :

    • les fenêtres
    • le rendu 3D (via OpenGL)
    • le lien avec l'OS (pas besoin de savoir quel est le système d'exploitation sousèjacent ; Qt s'occupe de (presque) tout).
    • une gestion des bases de données
    • la concurrence (les threads)
    • ...


    D'autres en parleront mieux que moi.

    Les ressources permettant d'utiliser Qt sont nombreuses sur le net, je ne te ferais pas l'affront de te les pointer.
    [FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...]
    Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça.
    Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  8. #8
    Membre du Club
    Homme Profil pro
    touristepationné
    Inscrit en
    Janvier 2012
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : touristepationné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 132
    Points : 57
    Points
    57
    Par défaut
    Je vais donc me mettre sérieusement a Qt.

    La meilleure chose que j'ai a faire est donc de faire fonctionner mon cd d'abord sur une seule plate forme, avant de penser aux autres?

    Derniere question, si je developpe pour une machine windows, le code compilé fonctionnera de la meme maniere sous win95 ou win seven?

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Si tu n'utilises aucune fonction que Win95 ne supporte pas, oui.

    Généralement, cibler Win9x signifie renoncer au jeu de caractères Unicode, car Win9x ne supporte pas UTF-16 (et Windows n'a jamais "vraiment" supporté UTF-8), à une gestion fine des droits...

    Franchement de nos jours il est plus simple de cibler au moins Windows 2000 (et même Microsoft ne le fait plus).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Même, Windows XP peut aussi être abandonné d'ici un an, vu que Microsoft ne fera plus le support. Mais bon, comme c'est encore 30 % d'un certain marché (vive l'Asie) et que Qt supporte Windows XP, ce n'est pas un vrai problème
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 764
    Points : 2 705
    Points
    2 705
    Par défaut
    Citation Envoyé par B65AcR Voir le message
    Je vais donc me mettre sérieusement a Qt.
    Avant de te lancer dans Qt, il faut déterminer si tu en as vraiment besoin, en identifiant ce qui peut te poser problème : la gestion des fichiers, l'interface graphique, etc...
    Il y a beaucoup de code qui tourne en multi-plateforme sans avoir besoin de Qt, et qui peut se contenter de Boost.

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

Discussions similaires

  1. Créer un logiciel multiplateformes
    Par B65AcR dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 26/03/2014, 22h01
  2. Aide pour créer un logiciel
    Par mika51 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 5
    Dernier message: 15/09/2006, 11h29
  3. créer un logiciel avec activation par serveur sécure
    Par phakso dans le forum Général Java
    Réponses: 3
    Dernier message: 25/05/2006, 14h19
  4. Cherche un tutorial pour créer un logiciel de messagerie ?
    Par BXDSPORT dans le forum Web & réseau
    Réponses: 1
    Dernier message: 28/10/2005, 17h49
  5. Créer un logiciel de maintien de collection ?
    Par Tendance dans le forum Bases de données
    Réponses: 6
    Dernier message: 08/07/2004, 14h32

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