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 :

Compilateur C++11 sous windows autre que MSVC


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Points : 53
    Points
    53
    Par défaut Compilateur C++11 sous windows autre que MSVC
    Bonjour,

    J'ai développé un petit programme en C++ utilisant certaines choses apportées par le C++11 (smart pointers, nullptr et override essentiellement). J'ai développé ce programme chez moi, avec Visual C++ express 2010.

    Je souhaiterais à présent pouvoir l'éxécuter et le modifier au bureau, sur un machine sous windows2000.

    Le problème c'est que visual studio (du moins la version avec un compilo récent supportant les features que j'utilise, i.e. la version 2010) ne peut pas être installé dessus. J'ai essayé d'installer Devcpp, Code::Block et même tout bonnement la dernière version de MinGW (dev et code block utilisent ce compilo), mais je n'ai pas les features C++11 et mon code ne compile pas. Quand je regarde le code source de "memory" par exemple, je n'ai que des choses relatives à auto_ptr, sans les shared, weak, etc...

    Quelqu'un connaitrait-il un compilo supportant les features de base du C++11 sous windows, ou saurait comment obtenir une version de gcc récente avec ce support (sans recompiler de truc) ?

    Merci par avance

  2. #2
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    Bonsoir,

    Tu as bien ajouté l'option -std=0x à gcc (mingw) pour la compilation ? Normalement ca ne devrait pas poser de problème pour les pointeurs intelligents, nullptr ca va dépendre de ta version de gcc (mingw) par contre, cf les tables de feature du C++1x pour gcc.

  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
    Je crois que mingw correspond à la version 4.4 de gcc. Donc pas de nullptr. Pour override, je connais pas, si ça correspond à "Explicit virtual overrides", alors il faut gcc 4.7 (mais je vois pas d'équivalent dans vsc2010). Pour les smarts pointers, je ne les ai pas trouvé non plus sous mingw (donc je continue à utiliser boost).

    Tu peux télécharger gcc en version 4.6 et 4.7 pour windows ici

    Voir le post Quel compilateur pour C++0x

    Il faudrait regarder aussi les autres compilateurs (intel icc, clang, etc.)

  4. #4
    En attente de confirmation mail

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Doubs (Franche Comté)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 1 391
    Points : 3 311
    Points
    3 311
    Par défaut
    @gbdivers : L'auto-installeur de MinGW met la version 4.6 de gcc si tu lui dis de prendre le plus récent pendant l'installation. Et il me semble qu'au moins shared_ptr/unique_ptr/weak_ptr sont dispo.

  5. #5
    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
    Citation Envoyé par Flob90 Voir le message
    @gbdivers : L'auto-installeur de MinGW met la version 4.6 de gcc si tu lui dis de prendre le plus récent pendant l'installation. Et il me semble qu'au moins shared_ptr/unique_ptr/weak_ptr sont dispo.
    Ma faute, à force d'utiliser Qt SDK, j'en oublie qu'il n'est pas fournit avec la dernière version de ming

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Points : 53
    Points
    53
    Par défaut
    Merci pour vos réponses

    Je ferais l'essai demain avec l'option adéquate pour gcc.
    Je réinstallerai au besoin.

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Pour ce qui est de MinGW, c'est un peu plus compliqué...

    La version que tu obtiens est, bel et bien de l'ordre de la 4.4.x, alors que la version de dev de Gcc est... la 4.7.x

    Pour autant que je me souvienne, la version 4.4 de Gcc date d'à peu pres 2008, c'est à dire de bien avant que la nouvelle norme ne soit adoptée

    Il est possible de compiler soi même la dernière version de Gcc pour profiter des features de C++11, mais cela prend pas mal de temps (il faut compiler binutils, gmp, mpfr, mpc, mingw32 api et crt...), il faut compter trois à quatre heures sur un pc "récent"

    La bone question sera donc : as tu déspérément besoin des features de C++11, au point de vouloir te lancer dans l'aventure de la compilation de Gcc, ou bien préfères tu attendre un peu que les différents compilateurs assurent un respect "correct" de la norme
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    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
    Il me semble qu'il y avait un site cité il y a quelques temps sur ces forums qui fournis des versions "a jour" de MinGW, c'est à dire à la dernière version stable de GCC.

    Par contre je n'arrive pas à retrouver ce site. Ils disaient que c'était une distribution un peu spéciale faite pour ceux qui veulent justement utiliser GCC.

    Au passage, est-ce que je me trompe ou utiliser GCC sur windows reviens plus ou moins a abandonner le debugger de Visual Studio?

    Ya des discussions récentes sur tigsource.com où certains pointent du doigts des incohérences rapport au standard que VC garde pour rétro compatibilité du code. Mais ca reste assez moche...

    En fait chez VC ils pourraient peut être faire deux versions du compilo, une tout a fait standard et une rétrocompatible. Histoire que tout le monde soit content. Si ils ont effectivement bien refactoré le code du compilo ça devrait être envisageable...

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par koala01 Voir le message
    La version que tu obtiens est, bel et bien de l'ordre de la 4.4.x, alors que la version de dev de Gcc est... la 4.7.x
    Plus maintenant, et ce depuis quelques mois :p

    Je viens de l'installer et c'est la 4.5.2

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par Klaim Voir le message
    Il me semble qu'il y avait un site cité il y a quelques temps sur ces forums qui fournis des versions "a jour" de MinGW, c'est à dire à la dernière version stable de GCC.
    http://tdm-gcc.tdragon.net/ ?

    Au passage, est-ce que je me trompe ou utiliser GCC sur windows reviens plus ou moins a abandonner le debugger de Visual Studio?
    Malheureusement oui. Les abi sont incompatible.

  11. #11
    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
    Citation Envoyé par yan Voir le message
    Oui c'est bien ça, merci!

    C'est tentant de l'utiliser avec code blocks, mais pour l'instant je vais me cramponner a VS le temps d'avoir un truc qui marche complètement XD

  12. #12
    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
    Citation Envoyé par Klaim Voir le message
    Il me semble qu'il y avait un site cité il y a quelques temps sur ces forums qui fournis des versions "a jour" de MinGW, c'est à dire à la dernière version stable de GCC.
    Dans mon premier post, il y a un lien vers un site qui propose gcc pour windows (version 4.6 et 4.7)

  13. #13
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 43
    Points : 53
    Points
    53
    Par défaut
    J'ai fait l'essai en demandant l'installation de la dernière version des fichiers de mingw et en utilisant l'option donnant accès au C++0x avec g++ et effectivement, ça marche. Merci

    Par contre override n'est pas supporté pour l'instant.

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

Discussions similaires

  1. Site web sous navigateur autre que FireFox
    Par Clad3815 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/03/2010, 22h43
  2. Cherche éditeur AS3 sous linux autres que FlexBuilder
    Par karas.uchiwa dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 10/11/2009, 16h43
  3. Hook de messages windows (autres que souris/clavier)
    Par strayyy dans le forum Windows
    Réponses: 26
    Dernier message: 17/06/2009, 14h47
  4. [PC] Compilateur en français sous Windows
    Par carottercl dans le forum Cobol
    Réponses: 3
    Dernier message: 21/01/2008, 15h13
  5. [C++] le compilateur C++ (MinGW sous Windows)
    Par oursblanc dans le forum Eclipse Java
    Réponses: 24
    Dernier message: 27/07/2005, 18h02

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