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 :

Compilation LINUX GCC 4.6.1 : Erreur STL


Sujet :

C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut Compilation LINUX GCC 4.6.1 : Erreur STL
    Bonjour,

    Je reprend un projet au sein de ma boite qui est pour ainsi dire un ..... de programme de ..... .

    Bref j'en viens au but :

    Lors de la compilation du programme (crée sous GCC 2.95 ) un tas de message d'erreur apparait.(Je montrerais ces messages par la suite)

    J'ai donc créer un petit bout de code qui fait appel à cette libraire et en voici les premières dizaines d'erreur retournée lors de la compilation :

    Main.cpp

    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
    #include <iostream>
    #include <vector>
    using namespace std;
     
    template <typename T>
    class MyClass 
    {
        public:
            static std::vector <T> MyVector;
    };
     
    int main()
    {
       MyClass<int>::MyVector = {17};
       cout<<"Sa marche"<<endl;
     
       return 0;
    }

    Commande de compilation => g++ -c main.cpp -o prog
    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
    26
    27
    28
    29
    30
    31
    32
    In file included from /usr/include/c++/4.6/stl_string_fwd.h:20:0,
                     from /usr/include/c++/4.6/string:18,
                     from /usr/include/c++/4.6/bits/locale_classes.h:42,
                     from /usr/include/c++/4.6/bits/ios_base.h:43,
                     from /usr/include/c++/4.6/ios:43,
                     from /usr/include/c++/4.6/ostream:40,
                     from /usr/include/c++/4.6/iostream:40,
                     from main.cpp:1:
    /usr/include/c++/4.6/char_traits.h:115:27: erreur: an explicit specialization must be preceded by 'template <>'
    /usr/include/c++/4.6/char_traits.h:140:27: erreur: an explicit specialization must be preceded by 'template <>'
    In file included from /usr/include/c++/4.6/string:22:0,
                     from /usr/include/c++/4.6/bits/locale_classes.h:42,
                     from /usr/include/c++/4.6/bits/ios_base.h:43,
                     from /usr/include/c++/4.6/ios:43,
                     from /usr/include/c++/4.6/ostream:40,
                     from /usr/include/c++/4.6/iostream:40,
                     from main.cpp:1:
    /usr/include/c++/4.6/stdexcept:26:55: erreur: expected class-name before '{' token
    In file included from /usr/include/c++/4.6/stl_algobase.h:45:0,
                     from /usr/include/c++/4.6/memory:18,
                     from /usr/include/c++/4.6/string:24,
                     from /usr/include/c++/4.6/bits/locale_classes.h:42,
                     from /usr/include/c++/4.6/bits/ios_base.h:43,
                     from /usr/include/c++/4.6/ios:43,
                     from /usr/include/c++/4.6/ostream:40,
                     from /usr/include/c++/4.6/iostream:40,
                     from main.cpp:1:
    /usr/include/c++/4.6/type_traits.h:96:28: erreur: an explicit specialization must be preceded by 'template <>'
     
    /usr/include/c++/4.6/stl_iterator.h:852:3: erreur: 'istream' does not name a type
    /usr/include/c++/4.6/stl_iterator.h:868:27: erreur: expected ')' before '&' token
    /usr/include/c++/4.6/stl_iterator.h: In member function 'void istream_iterator<_Tp, _Dist>::_M_read()':
    J'en passe et des meilleurs, d'après mes recherches il existe un problème de compatibilité entre la STL et GCC (le compilateur) depuis la version 4.5.

  2. #2
    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 et bienvenue sur le forum

    Non pas de problème particulier avec gcc, c'est une erreur dans ton code. Tu doit initialiser les variables membres static. Ajoute après ta classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    template <typename T>
    std::vector<T> MyClass<T>::MyVector;
    Bonne continuation

    EDIT : voir FAQ Comment initialiser un membre static ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Merci pour la réponse rapide.

    La correction que tu m'as donnée ne change pas les erreurs que j'ai lors de la compilation.

    Je précise que le problème viendrait de l'appel d'un template auquel on lui passe une classe en paramètre qui n'est plus accepter sur GNU GCC.

    J'ai utilisé le compilateur GNU GCC 4.6.1 à travers un IDE Code::Blocks.

    Il me retourne les mêmes erreurs surtout ce qui m'interpelle c'est qu'il m'indique une erreur sur les fichiers de la lib :

    /usr/include/c++/4.6/char_traits.h :115:27: erreur: an explicit specialization must be preceeded by 'template <>'

  4. #4
    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
    En effet, j'avais pas fait attention, j'avais juste regardé ton code et corrigé l'erreur. Mais en voyant l'erreur que tu donnes, je réalise que tu donnes pas le bon code. En tout cas, ton code n'utilise pas la spécialisation de template (en fait non, la spécialisation template vient de la STL, le problème dans ton code est ailleurs) et ne peut pas produire ce type d'erreur

    Donc il faut que tu donnes le bon code, qui génère l'erreur donnée...

  5. #5
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    L'erreur vise un fichier de la STL char_traits.h dont voici la ligne où l'erreur précedente nous renvoi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /usr/include/c++/4.6/char_traits.h:115:27: erreur: an explicit specialization must be preceded by 'template <>'
    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
    __STL_TEMPLATE_NULL class char_traits<char> 
      : public __char_traits_base<char, int>
    {
    public:
      static char_type to_char_type(const int_type& __c) {
        return static_cast<char_type>(static_cast<unsigned char>(__c));
      }
     
      static int_type to_int_type(const char_type& __c) {
        return static_cast<unsigned char>(__c);
      }
     
      static int compare(const char* __s1, const char* __s2, size_t __n) 
        { return memcmp(__s1, __s2, __n); }
     
      static size_t length(const char* __s) { return strlen(__s); }
     
      static void assign(char& __c1, const char& __c2) { __c1 = __c2; }
     
      static char* assign(char* __s, size_t __n, char __c)
        { memset(__s, __c, __n); return __s; }
    };

  6. #6
    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
    C'est ton code qu'il faut, pas celui de la stl. Le problème vient probablement d'une erreur de ta part et non de gcc (même si cela peut arriver, commençons déjà par le plus probable)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Tu as l'intégralité de mon code de test dans mon premier post.

    Ne sachant pas d'où venait le problème, j'ai testé avec un code simple et concis. Je retrouve bien la même erreur que dans mon projet.

    J'ai donc bel et bien mis le doigt sur quelque chose que je n'arrive pas à résoudre .

  8. #8
    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
    Ok, j'avais pas compris

    Donc je confirme, à part l'erreur que j'ai déjà signalé, ton code ne pose pas de problème. Par contre, j'ai pas de gcc 4.6.1 sous la main pour tester s'il y a un problème particulier avec cette version, mais ça serait étonnant

    Tu as besoin nettoyer les fichiers objets pour être sur de ne pas utiliser une ancienne compilation ?

  9. #9
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Avec $CXXFLAGS='-std=c++0x', et la définition manquante du membre template statique, le code du premier post compile et linke avec gcc 4.6.3.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  10. #10
    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
    (j'avais même pas percuté que c'était du C++11 )

  11. #11
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Je test sa demain au boulot.

    Je reviendrais vers vous pour confirmer si le problème est résolu ou non.

    Bonne soirée.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Salut tout le monde,

    j'ai fait les tests par rapport aux infos que vous m'avez fourni hier, malheureusement soldé par un échec.

    J'ai testé avec différente option passé à "-std " :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -std=c++0x  -c main.cpp -o prog : /usr/include/c++/4.6/char_traits.h:115:27: erreur: an explicit specialization must be preceded by 'template <>'
    => On retrouve les mêmes erreurs que precédemment.(j'en ai mis qu'une seule)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -std=gnu++0x  -c main.cpp -o prog  : /usr/include/c++/4.6/char_traits.h:115:27: erreur: an explicit specialization must be preceded by 'template <>'
    => IDEM

    -----------------------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    g++ -std=gnu++11  -c main.cpp -o prog : 
    cc1plus: erreur: unrecognized command line option '-std=gnu++11'
    => ??? il ne reconnait pas l'option ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g++ -std=c++11  -c main.cpp -o prog : cc1plus: erreur: unrecognized command line option '-std=c++11
    => IDEM

  13. #13
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Et ton exemple compile aussi avec gcc 4.6.1 sous cygwin -- version que j'avais compilée et installée à la main.

    Il y aurait-il des soucis dans ton installation de gcc ?

    <edit>Mon fichier /usr/local/include/c++/4.6.1/bits/char_traits.h ne ressemble pas du tout au tien (qui se trouve d'ailleurs dans un étrange emplacement au vu de mes souvenirs de gcc: i.e. pas dans bits/).
    Tu devrais essayer de voir d'où vient ce fichier. Hum ... il ressemble furieusement à celui de SGI (qui du coup je me demande bien ce qu'il fout sous 4.6) et non à celui-ci : http://www.ib.cnea.gov.ar/~oop/bibli...8h-source.html

    Vous n'y auriez pas été comme des gros bourrins en déplaçant/renommant des vieux répertoires pour avoir des fichiers dans des zones qui ne sont pas les leurs ?</edit>


    PS: j'avais compilé avec: "CXXFLAGS=-std=c++0x make toto" -- avec le fichier rempli avec ton exemple du post 1 sauvé dans toto.cpp.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  14. #14
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    J'utilise bien la stl et il se peut que lors de mes tests j'ai fait une copie des fichiers dans ce repertoire qui aurait à ce moment écrasé la version précedente.

    Moi =

    J'ai tellement cherché et obtenu d'infos que je n'arrive pas à mettre tous sa au clair.

    Que dois je faire?

  15. #15
    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
    Pour C++11/C++0x, il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -std=c++0x
    -std=gnu++0x
    pour gcc < 4.7 et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -std=c++11
    -std=gnu++
    pour gcc >= 4.7

    Sinon, ça ressemble en effet furieusement à un problème d'installation de compilateur

  16. #16
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Je te dirais de supprimer (/déplacer ailleurs au cas où) le répertoire 4.6 et de demander à ton gestionnaire de paquets de forcer la reinstall de libstdc++ de GNU en version 4.6.1, ou tout gcc, je ne sais pas.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  17. #17
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Je vois que Luc semble étonné du fait de l'utilisation de la STL SGI.

    Pourrait-tu me fournir quelques informations sur celle-ci et pourquoi ton étonnement?

  18. #18
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Je suis étonné qu'elle soit installée en plein milieu de l'arborescence de la libstdc++. C'est ça qui ne va pas et qui met la grouille. La bascule de l'une à l'autre c'est en jouant avec les options du compilo, pas en foutant tout au mauvais endroit.

    Après la STL de SGI est franchement vieille. STLPort doit être plus récente si vraiment vous ne voulez pas utiliser celle du projet GNU laquelle sera probablement mieux adaptée à g++, ne parlons même pas du C++11.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  19. #19
    Membre à l'essai
    Homme Profil pro
    Developpeur / Technicien support
    Inscrit en
    Février 2013
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Developpeur / Technicien support
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 30
    Points : 11
    Points
    11
    Par défaut
    Vous me rassurez à un point que vous n'imaginez pas => On avance sur un chemin escarpé mais on avance.

    J'ai désinstallé GCC puis réinstallé tout en vérifiant que libstdc++ soit réinstallé.

    La compilation du petit code est OK.

    Je repasse donc sur mon projet et c'est avec joie.(Pour des raisons de confidentialité je ne pourrais pas mettre le gros du codes)

    La compilation a nettement changé : quelque lignes d'erreurs au lieu de centaines que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    In file included from /usr/include/c++/4.6/backward/hash_map:61:0,
                     from lisp.h:9,
                     from lisp.cpp:1:
    /usr/include/c++/4.6/backward/backward_warning.h:33:2: attention : #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. [-Wcpp]
    => Je pense que ceci à un rapport avec la spécificité standard (-std=c++0x ou une autre version)

    In file included from lisp.cpp:2:0:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    data_defs.h:11:16: erreur fatale: rope : Aucun fichier ou dossier de ce type
    compilation terminée.
    => le fichier ROPE n'existe plus ??? je ne le vois pas dans mon repertoire de librairie et il devait être un élément de la STL SGI à mon avis.

    Je tiens aussi à vous remercier pour votre aide = , cela m'amène a essayé d'apporté aussi mon aide auprès des autres utilisateurs.
    make: *** [lisp.o] Erreur 1

  20. #20
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    Le flag c++0x était nécessaire parce que tu avais écrit "vector<int> v = {17};".

    hash_map est effectivement déprécié au profit de std::unordered_map -- mais avoir une table de hashage portable est casse tête avec les vieux compilos (je m'étais amusé à cela ici -> https://github.com/LucHermitte/Rasende ; cf les fichiers pour cmake, le config.h.cmakein, et les portable*.hpp)

    rope était une spécificité de l'implémentation historique de la STL par SGI. D'autres implémentations fournissaient cette classe dans mes souvenirs. Mais pas le standard.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Erreur de compilation avec GCC
    Par Neuromancien2 dans le forum C
    Réponses: 7
    Dernier message: 20/08/2007, 09h54
  2. compilation avec arm-linux-gcc (débutant)
    Par kh@_de_7 dans le forum Linux
    Réponses: 2
    Dernier message: 26/03/2007, 10h58
  3. [débutant]compiler avec gcc sous linux
    Par Ickou dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/03/2006, 17h27
  4. compilation avec gcc: erreur inhabituelle
    Par artatum dans le forum C
    Réponses: 4
    Dernier message: 12/10/2005, 17h13
  5. compilation avec gcc : erreurs bizard !!!
    Par CodeurNé dans le forum C
    Réponses: 2
    Dernier message: 23/09/2005, 18h09

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