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

Langage C++ Discussion :

error: ‘wstring_convert’ is not a member of ‘std’


Sujet :

Langage C++

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 21
    Points
    21
    Par défaut error: ‘wstring_convert’ is not a member of ‘std’
    Bonjour,Lors du compilation de code ci dessous, l'erreur suivant apparue

    Quelques a une idee !!!!
    user@Ubuntu:~/workspace/test$ g++ -std=c++0x -g -o code-cvt.o code-cvt.cpp
    code-cvt.cpp: In function ‘int main()’:
    code-cvt.cpp:50: error: ‘wstring_convert’ is not a member of ‘std’
    code-cvt.cpp:50: error: ‘codecvt_utf8’ is not a member of ‘std’
    code-cvt.cpp:50: error: expected primary-expression before ‘wchar_t’
    code-cvt.cpp:50: error: expected ‘;’ before ‘wchar_t’
    code-cvt.cpp:51: error: ‘conv1’ was not declared in this scope
    code-cvt.cpp:56: error: ‘wstring_convert’ is not a member of ‘std’
    code-cvt.cpp:56: error: ‘codecvt_utf16’ is not a member of ‘std’
    code-cvt.cpp:56: error: expected primary-expression before ‘wchar_t’
    code-cvt.cpp:56: error: expected ‘;’ before ‘wchar_t’
    code-cvt.cpp:57: error: ‘conv2’ was not declared in this scope
    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
    #include <iostream>
    #include <string>
    #include <locale>
    #include <c++/4.4/bits/codecvt.h>
    #include <iomanip>
     
     
    int main()
    {
        // wide character data
        std::wstring wstr =  L"z\u00df\u6c34\U0001d10b"; // or L"zß水𝄋"
     
        // wide to UTF-8
        std::wstring_convert<std::codecvt_utf8<wchar_t>> conv1;
        std::string u8str = conv1.to_bytes(wstr);
        std::cout << "UTF-8 conversion produced " << u8str.size() << " bytes:\n";
     
        // wide to UTF-16le
        std::wstring_convert<std::codecvt_utf16<wchar_t, 0x10ffff, std::little_endian>> conv2;
        std::string u16str = conv2.to_bytes(wstr);
        std::cout << "UTF-16le conversion produced " << u16str.size() << " bytes:\n";
    }

  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
    Primo, merci de mettre en forme ton texte (avec au minimum ton code placé enter les balises idoines)

    Secundo, quelle version de gcc utilises-tu ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 21
    Points
    21
    Par défaut
    La vercsion gcc:
    gcc version 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)

  4. #4
    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
    Il y a de fortes chances que cette fonction ne soit pas disponible dans cette version de gcc.

    Je te laisse faire des recherches pour confirmer ou infirmer ma supposition...

  5. #5
    Membre émérite

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Points : 2 252
    Points
    2 252
    Par défaut
    Bonjour,

    Malheureusement std::wstring_convert, std::codecvt_utf8 et std::codecvt_utf16 ne sont toujours pas implémentés à ce jour dans la bilbio standard libstdc++ (gcc 4.7).
    C'est d'ailleurs assez étonnant car libstdc++ est traditionnellement toujours largement en avance sur ses concurrents concernant l'implémentation du C++11, sauf sur ce point précis où à la fois clang 3.1+libc++ et Visual studio 2010 sont devant.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 21
    Points
    21
    Par défaut
    Tout d'abord merci pour vos aides.

    Donc comment faire pour convert char en char16_t ou inversment

  7. #7
    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
    Aucune idée.

Discussions similaires

  1. error: back_insertor is not a member of std
    Par prgasp77 dans le forum SL & STL
    Réponses: 8
    Dernier message: 27/05/2015, 18h04
  2. sort is not a member of std
    Par maryem_kh dans le forum SL & STL
    Réponses: 4
    Dernier message: 14/04/2012, 13h17
  3. Error 2039 'set' : is not a member
    Par yves042 dans le forum C++
    Réponses: 1
    Dernier message: 01/06/2010, 12h44
  4. [VB6]Error 76: path not found
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 29
    Dernier message: 29/05/2006, 22h59
  5. Réponses: 2
    Dernier message: 25/12/2005, 20h03

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