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

wxWidgets Discussion :

wxwidget avec code::blocks


Sujet :

wxWidgets

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut wxwidget avec code::blocks
    Bonjour à tous
    A la recherche d'un peu d'aide
    j'ai trouver un bon tuto grace à 3DArchi que je remercie
    mais sa coince du moins pour moi

    suis sur windows 10 64
    je cherche à développer une appli en c++
    et pour info sa fait un siècle que je n'ai pas
    euvrer dans ce domaine donc suis novice
    pour cela

    j'ai installer wingw 64 dans
    C:\MinGW-64-8.0.1\mingw64

    mais sans MSYS
    avec le chemin dans les varialbes d'environnement
    c'est bon si sous console je tappe
    mingw32-make pas d'erreur sauf target.........

    puis code::blocks la ok

    et je veus utilser wxWidgets que je connais en l'utilisant avec python
    installer dans
    C:\wxWidgets-3.1.3


    mais en paramètrant code::Blocks
    certain répertoire n'existent pas donc
    il faut compiler wxWidgets mais la ??????????

    mais la aucune idée et surtout le compiler en 64 bits et non en 32

    il me restera plus qu'a paramètrer code::blocks

    Donc si quelqu'un peut me donner des tuyaux je l'en remercie d'avance

  2. #2
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Hello.

    Juste pour être sûr : ton MinGW c'est un 8.0.1 ou un 8.1.0 ?
    Parce que pour la version 8.1.0, il y a une version officielle compilée (que tu trouveras ici :https://github.com/wxWidgets/wxWidgets/releases)

    Si tu as besoin de plus d'aide pour l'installer, n'hésite pas à me recontacter.
    De même si tu veux/dois compiler ta propre version.

    @+
    Xav'

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    salut
    merci de répondre c'est cool

    c'est mingw 8.0.1

    suis allé sur le lien et j'ai un doute:
    j'ai installer wxwidgets à partir de wxMSW-3.1.3-Setup.exe

    mais il y a aussi wxMSW-3.1.3_gcc730_x64_Dev.7z

    laquelle des 2?

    la première ce n'est que les source il n'y a aucune lib juste les .h
    dans C::B dans build options setting directory il y a des réprtoire que je n'ai pas

    donc je suppose qu'il faut le compiler et la ton aide est la bien venue

    merci
    A+
    yoda

  4. #4
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Hello.
    Citation Envoyé par pyoda Voir le message
    salut
    merci de répondre c'est cool
    C'est à ça que sert un forum d'entraide... ;-)

    Citation Envoyé par pyoda Voir le message
    c'est mingw 8.0.1


    suis allé sur le lien et j'ai un doute:
    j'ai installer wxwidgets à partir de wxMSW-3.1.3-Setup.exe

    mais il y a aussi wxMSW-3.1.3_gcc730_x64_Dev.7z

    laquelle des 2?

    la première ce n'est que les source il n'y a aucune lib juste les .h
    dans C::B dans build options setting directory il y a des réprtoire que je n'ai pas

    donc je suppose qu'il faut le compiler et la ton aide est la bien venue
    Le "setup.exe" ne contient en effet que les sources.
    Les autres fichiers (comme celui que tu mentionnes) contiennent bien les libs compilées (sans les sources) mais pas pour ton compilateur.
    Il va donc falloir les compiler à la main.
    Pour ma part, je compile toujours wxWidgets en ligne de commande.

    Voici donc la méthode à suivre.

    Il faut dans un premier temps que tu choisisse les options que avec lesquelles tu souhaites compiler :
    • libs statiques ou dynamiques
    • monolithiques ou multi-libs
    • debug ou release (tu peux faire les deux)


    Ensuite, tu ouvres une fenêtre "invite de commande", et tu te déplaces (avec la commande 'cd') dans le dossier d'installation des sources
    tu vas ensuite dans le sous dossier build/msw
    Tu lances une première fois la commande pour créer le fichier header de paramètres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mingw32-make.exe -f makefile.gcc setup_h BUILD=release CPP="gcc -E -D_M_AMD64" UNICODE=1 SHARED=1 MONOLITHIC=0 CXXFLAGS="-fno-keep-inline-dllexport -std=gnu++11"
    Puis tu lances la commande de compilation à proprement parler :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mingw32-make.exe -j3 -f makefile.gcc BUILD=release CPP="gcc -E -D_M_AMD64" UNICODE=1 SHARED=1 MONOLITHIC=0 CXXFLAGS="-fno-keep-inline-dllexport -std=gnu++11"
    Tu noteras les paramètres à modifier si tu le souhaites :
    • BUILD = release ou debug : comme je l'ai dit plus haut, tu peux faire les deux
    • SHARED=1 ou 0 : si tu as besoin de plus d'infos là dessus, ne te gènes pas mais je pars du principe que tu connais.
    • MONOLITHIC=0 ou 1 pour ne faire d'une seule grosse lib ou dll (si la valeur est à 1) ou plusieurs si 0 (pour ma part, j'utilise '0')

    Tu noteras aussi le '-j3' de la deuxième commande qui permet de lancer plusieurs processus en même temps. Ici, je lance 3 processus à la fois pour diminuer le temps de compilation. La règle est de mettre le nombre de coeurs disponibles sur ta machine moins 1 afin de garder un système 'viable'.

    Normalement, au bout d'un certain temps, tu devrais avoir les fichiers '.a' à utiliser pour la compilation de tes applications, et éventuellement les dlls si tu les as créées.

    J'espère avoir été assez clair : si ce n'est pas le cas, n'hésites pas...

    Bonne chance, et tiens moi au courant quel que soit le résultat....

    @+
    Xav'

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Salut

    ok super fonctionne impeccable
    je remercie car les 2 lignes de code de compil
    j'étais pas près de les trouver, si quand même mais quand?
    si tu connais un site avec des explications claires sa serait cool car pour l'instant
    ceux que j'ai vu pas top pour moi.

    J'ai testé un bout de code c++ wxwidgets paramétré C::B
    compile impeccable en mode Release

    Mais... problème de caractères accentués sa va être
    comme en python une galère pourtant unicode gère tous les caractères
    mais bon

    j'ai suivit tes indications bonnes explications au top très clair
    quand on connait bien on explique bien et pas comme certain 'read the book'

    Dans les exemples il y a CPP="gcc -E -D_M_AMD64" pour compile 64bits ?

    dans tes exemples la compile est en mode Release
    tu dit que l'on peut farie Release et Debug
    pour Debug il faut juste relancer tes deux lignes de commande
    en remplacant Release par Debug?

    Merci encore

    A+
    yoda

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Bonsoir.

    Pour régler le problème des caractères accentués il suffit de changer le type d'encodage de tes fichiers sources. Dans C::B menu Settings/Editor/General Settings/Encoding Settings, remplace WINDOWS-1852 par UTF8.

    Pour compiler wxWidgets en mode debug, tu dois retaper les deux commandes en changeant Release par Debug.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Bonsoir,

    ok pour la compile en Debug je me doutais
    je peut le faire une fois en Release et une fois en Debug

    pour les accentués pas de changement c'est juste
    _T("s'exécutant sous %s."),

    mais bon je vais trouver

    Je te remercie d'avoir passer du temps peut être à charge de revenche

    A+

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    excuse mon retour
    mais après avoir changer
    WINDOWS-1852 par UTF8

    la compile qui donnait juste 2 erreurs pour les caractère accentué

    me donne 50 erreurs "undefined reference pour chaque instance créer
    ex: undefined reference to `wxMenuBar::wxMenuBar()'

    sans avoir rien changer du tout

    ce doit être une connerie mais......

  9. #9
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Hello.

    Citation Envoyé par pyoda Voir le message
    excuse mon retour
    mais après avoir changer
    WINDOWS-1852 par UTF8

    la compile qui donnait juste 2 erreurs pour les caractère accentué

    me donne 50 erreurs "undefined reference pour chaque instance créer
    ex: undefined reference to `wxMenuBar::wxMenuBar()'

    sans avoir rien changer du tout

    ce doit être une connerie mais......
    Est-ce que ça marchait avant ?
    Je veux dire : si tu enlèves tous les accents présents dans ton fichier source (même ceux éventuellement présents dans des commentaires), est-ce que tu arrives à finaliser la compilation et à avoir un exécutable fonctionnel ?

    Attention aussi à bien avoir enregistré le fichier converti : de mémoire C::B nécessitait une petite astuce : il fallait convertir le fichier (menu "Edit" => "File Encoding" => "UTF-8" tout en s'assurant bien que l'entrée "Save byte-order_mark" du même menu n'était pas sélectionnée), puis re-cliquer dans le fichier source et immédiatement l'enregistrer.

    Et quand tu tripatouilles des trucs un peu spéciaux comme les encodages de caractères, il vaut mieux faire un "full rebuild" de ton application.

    @+
    Xav'

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    bonsoir

    j'ai fait comme tu m'as dit retirer tous les accents tous
    j'obtiens

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    ||=== Build: Debug in PremierProject (compiler: GNU GCC Compiler) ===|
    obj\Debug\main.o||In function `WinMain':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|27|undefined reference to `wxEntry(HINSTANCE__*, HINSTANCE__*, char*, int)'|
    obj\Debug\main.o||In function `wxCreateApp()':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|27|undefined reference to `wxAppConsoleBase::CheckBuildOptions(char const*, char const*)'|
    obj\Debug\main.o||In function `MyApp::OnInit()':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|33|undefined reference to `wxAppConsoleBase::OnInit()'|
    obj\Debug\main.o||In function `MyFrame::MyFrame(wxString const&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|66|undefined reference to `wxMenuBar::wxMenuBar()'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|69|undefined reference to `wxFrameBase::SetMenuBar(wxMenuBar*)'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|72|undefined reference to `wxFrameBase::CreateStatusBar(int, long, int, wxString const&)'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|73|undefined reference to `wxFrameBase::SetStatusText(wxString const&, int)'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|58|undefined reference to `wxFrame::~wxFrame()'|
    obj\Debug\main.o||In function `MyFrame::OnQuit(wxCommandEvent&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|81|undefined reference to `wxWindowBase::Close(bool)'|
    obj\Debug\main.o||In function `MyFrame::OnAbout(wxCommandEvent&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|92|undefined reference to `wxGetOsDescription()'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|86|undefined reference to `wxMessageBox(wxString const&, wxString const&, long, wxWindow*, int, int)'|
    obj\Debug\main.o||In function `__tcf_1':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|50|undefined reference to `wxEventHashTable::~wxEventHashTable()'|
    obj\Debug\main.o||In function `__static_initialization_and_destruction_0':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|50|undefined reference to `wxEventHashTable::wxEventHashTable(wxEventTable const&)'|
    obj\Debug\main.o||In function `wxGet_wxConvLibc()':|
    C:\wxWidgets-3.1.3\include\wx\strconv.h|616|undefined reference to `wxGet_wxConvLibcPtr()'|
    obj\Debug\main.o:main.cpp:(.rdata+0x250)||undefined reference to `wxFrame::sm_eventTable'|
    obj\Debug\main.o||In function `wxFormatString::operator wchar_t const*() const':|
    C:\wxWidgets-3.1.3\include\wx\strvararg.h|220|undefined reference to `wxFormatString::AsWChar()'|
    obj\Debug\main.o||In function `wxArgNormalizerWchar<wxCStrData const&>::wxArgNormalizerWchar(wxCStrData const&, wxFormatString const*, unsigned int)':|
    C:\wxWidgets-3.1.3\include\wx\strvararg.h|544|undefined reference to `wxFormatString::GetArgumentType(unsigned int) const'|
    C:\wxWidgets-3.1.3\include\wx\strvararg.h|544|undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'|
    obj\Debug\main.o||In function `wxString::ImplStr(char const*, wxMBConv const&)':|
    C:\wxWidgets-3.1.3\include\wx\string.h|362|undefined reference to `wxString::ConvertStr(char const*, unsigned long long, wxMBConv const&)'|
    obj\Debug\main.o||In function `wxObject::operator=(wxObject const&)':|
    C:\wxWidgets-3.1.3\include\wx\object.h|361|undefined reference to `wxObject::Ref(wxObject const&)'|
    obj\Debug\main.o||In function `wxListBase::wxListBase(wxKeyType)':|
    C:\wxWidgets-3.1.3\include\wx\list.h|448|undefined reference to `wxListBase::Init(wxKeyType)'|
    obj\Debug\main.o||In function `wxCriticalSectionLocker::wxCriticalSectionLocker(wxCriticalSection&)':|
    C:\wxWidgets-3.1.3\include\wx\thread.h|307|undefined reference to `wxCriticalSection::Enter()'|
    obj\Debug\main.o||In function `wxCriticalSectionLocker::~wxCriticalSectionLocker()':|
    C:\wxWidgets-3.1.3\include\wx\thread.h|312|undefined reference to `wxCriticalSection::Leave()'|
    obj\Debug\main.o||In function `wxTrackable::RemoveNode(wxTrackerNode*)':|
    C:\wxWidgets-3.1.3\include\wx\tracker.h|57|undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'|
    obj\Debug\main.o||In function `wxEventTableEntryBase::wxEventTableEntryBase(int, int, wxEventFunctor*, wxObject*)':|
    C:\wxWidgets-3.1.3\include\wx\event.h|3381|undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'|
    obj\Debug\main.o||In function `wxWindowBase::GetBestVirtualSize() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|525|undefined reference to `wxWindowBase::GetBestSize() const'|
    obj\Debug\main.o||In function `wxWindowBase::CanBeFocused() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|738|undefined reference to `wxWindowBase::IsEnabled() const'|
    obj\Debug\main.o||In function `wxWindowBase::ProcessWindowEventLocally(wxEvent&)':|
    C:\wxWidgets-3.1.3\include\wx\window.h|870|undefined reference to `wxEvtHandler::ProcessEventLocally(wxEvent&)'|
    obj\Debug\main.o||In function `wxWindowBase::HasCapture() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|1034|undefined reference to `wxWindowBase::GetCapture()'|
    obj\Debug\main.o||In function `wxWindowBase::GetDefaultAttributes() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|1115|undefined reference to `wxWindowBase::GetClassDefaultAttributes(wxWindowVariant)'|
    obj\Debug\main.o||In function `wxWindow::wxWindow()':|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|35|undefined reference to `wxWindowBase::wxWindowBase()'|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|35|undefined reference to `wxWindow::Init()'|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|35|undefined reference to `wxWindowBase::~wxWindowBase()'|
    obj\Debug\main.o||In function `wxWindow::ShowWithEffect(wxShowEffect, unsigned int)':|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|89|undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'|
    obj\Debug\main.o||In function `wxWindow::HideWithEffect(wxShowEffect, unsigned int)':|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|94|undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'|
    obj\Debug\main.o||In function `wxTopLevelWindowBase::IsActive()':|
    C:\wxWidgets-3.1.3\include\wx\toplevel.h|201|undefined reference to `wxWindowBase::FindFocus()'|
    C:\wxWidgets-3.1.3\include\wx\toplevel.h|201|undefined reference to `wxWindowBase::IsDescendant(wxWindowBase*) const'|
    obj\Debug\main.o||In function `wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)':|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|30|undefined reference to `wxFrameBase::wxFrameBase()'|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|31|undefined reference to `wxFrame::Init()'|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|33|undefined reference to `wxFrame::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)'|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|30|undefined reference to `wxFrameBase::~wxFrameBase()'|
    obj\Debug\main.o||In function `wxFrame::MSWTranslateMessage(tagMSG*)':|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|97|undefined reference to `wxFrame::MSWDoTranslateMessage(wxFrame*, tagMSG*)'|
    obj\Debug\main.o||In function `wxwxMenuItemListNode::wxwxMenuItemListNode(wxListBase*, wxwxMenuItemListNode*, wxwxMenuItemListNode*, wxMenuItem*, wxListKey const&)':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|37|undefined reference to `wxNodeBase::wxNodeBase(wxListBase*, wxNodeBase*, wxNodeBase*, void*, wxListKey const&)'|
    obj\Debug\main.o||In function `wxMenuItemList::Find(wxListKey const&) const':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|37|undefined reference to `wxListBase::Find(wxListKey const&) const'|
    obj\Debug\main.o||In function `wxMenuBase::wxMenuBase(long)':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|53|undefined reference to `wxEvtHandler::wxEvtHandler()'|
    C:\wxWidgets-3.1.3\include\wx\menu.h|53|undefined reference to `wxMenuBase::Init(long)'|
    C:\wxWidgets-3.1.3\include\wx\menu.h|53|undefined reference to `wxEvtHandler::~wxEvtHandler()'|
    obj\Debug\main.o||In function `wxMenuBase::Append(int, wxString const&, wxString const&, wxItemKind)':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|67|undefined reference to `wxMenuItemBase::New(wxMenu*, int, wxString const&, wxString const&, wxItemKind, wxMenu*)'|
    obj\Debug\main.o||In function `wxMenu::wxMenu(long)':|
    C:\wxWidgets-3.1.3\include\wx\msw\menu.h|39|undefined reference to `wxMenu::Init()'|
    C:\wxWidgets-3.1.3\include\wx\msw\menu.h|39|undefined reference to `wxMenuBase::~wxMenuBase()'|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build failed: 50 error(s), 0 warning(s) (0 minute(s), 4 second(s)) ===|
    je remets toutes les erreurs au cas où

    si je mets un seul accent dans un string nom d'un menu ex: à
    j'obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ||=== Build: Debug in PremierProject (compiler: GNU GCC Compiler) ===|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp||In constructor 'MyFrame::MyFrame(const wxString&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|64|error: converting to execution character set: Illegal byte sequence|
    ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 3 second(s)) ===|
    j'insiste un peu beaucoup mais c'est juste pour vérifier que la suite de la compilation fonctionne bien avant de me lancer

    Bonne soirée et merci

    A+

  11. #11
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Salut.

    Citation Envoyé par pyoda Voir le message
    bonsoir

    j'ai fait comme tu m'as dit retirer tous les accents tous
    j'obtiens

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    ||=== Build: Debug in PremierProject (compiler: GNU GCC Compiler) ===|
    obj\Debug\main.o||In function `WinMain':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|27|undefined reference to `wxEntry(HINSTANCE__*, HINSTANCE__*, char*, int)'|
    obj\Debug\main.o||In function `wxCreateApp()':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|27|undefined reference to `wxAppConsoleBase::CheckBuildOptions(char const*, char const*)'|
    obj\Debug\main.o||In function `MyApp::OnInit()':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|33|undefined reference to `wxAppConsoleBase::OnInit()'|
    obj\Debug\main.o||In function `MyFrame::MyFrame(wxString const&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|66|undefined reference to `wxMenuBar::wxMenuBar()'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|69|undefined reference to `wxFrameBase::SetMenuBar(wxMenuBar*)'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|72|undefined reference to `wxFrameBase::CreateStatusBar(int, long, int, wxString const&)'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|73|undefined reference to `wxFrameBase::SetStatusText(wxString const&, int)'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|58|undefined reference to `wxFrame::~wxFrame()'|
    obj\Debug\main.o||In function `MyFrame::OnQuit(wxCommandEvent&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|81|undefined reference to `wxWindowBase::Close(bool)'|
    obj\Debug\main.o||In function `MyFrame::OnAbout(wxCommandEvent&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|92|undefined reference to `wxGetOsDescription()'|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|86|undefined reference to `wxMessageBox(wxString const&, wxString const&, long, wxWindow*, int, int)'|
    obj\Debug\main.o||In function `__tcf_1':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|50|undefined reference to `wxEventHashTable::~wxEventHashTable()'|
    obj\Debug\main.o||In function `__static_initialization_and_destruction_0':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|50|undefined reference to `wxEventHashTable::wxEventHashTable(wxEventTable const&)'|
    obj\Debug\main.o||In function `wxGet_wxConvLibc()':|
    C:\wxWidgets-3.1.3\include\wx\strconv.h|616|undefined reference to `wxGet_wxConvLibcPtr()'|
    obj\Debug\main.o:main.cpp:(.rdata+0x250)||undefined reference to `wxFrame::sm_eventTable'|
    obj\Debug\main.o||In function `wxFormatString::operator wchar_t const*() const':|
    C:\wxWidgets-3.1.3\include\wx\strvararg.h|220|undefined reference to `wxFormatString::AsWChar()'|
    obj\Debug\main.o||In function `wxArgNormalizerWchar<wxCStrData const&>::wxArgNormalizerWchar(wxCStrData const&, wxFormatString const*, unsigned int)':|
    C:\wxWidgets-3.1.3\include\wx\strvararg.h|544|undefined reference to `wxFormatString::GetArgumentType(unsigned int) const'|
    C:\wxWidgets-3.1.3\include\wx\strvararg.h|544|undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'|
    obj\Debug\main.o||In function `wxString::ImplStr(char const*, wxMBConv const&)':|
    C:\wxWidgets-3.1.3\include\wx\string.h|362|undefined reference to `wxString::ConvertStr(char const*, unsigned long long, wxMBConv const&)'|
    obj\Debug\main.o||In function `wxObject::operator=(wxObject const&)':|
    C:\wxWidgets-3.1.3\include\wx\object.h|361|undefined reference to `wxObject::Ref(wxObject const&)'|
    obj\Debug\main.o||In function `wxListBase::wxListBase(wxKeyType)':|
    C:\wxWidgets-3.1.3\include\wx\list.h|448|undefined reference to `wxListBase::Init(wxKeyType)'|
    obj\Debug\main.o||In function `wxCriticalSectionLocker::wxCriticalSectionLocker(wxCriticalSection&)':|
    C:\wxWidgets-3.1.3\include\wx\thread.h|307|undefined reference to `wxCriticalSection::Enter()'|
    obj\Debug\main.o||In function `wxCriticalSectionLocker::~wxCriticalSectionLocker()':|
    C:\wxWidgets-3.1.3\include\wx\thread.h|312|undefined reference to `wxCriticalSection::Leave()'|
    obj\Debug\main.o||In function `wxTrackable::RemoveNode(wxTrackerNode*)':|
    C:\wxWidgets-3.1.3\include\wx\tracker.h|57|undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'|
    obj\Debug\main.o||In function `wxEventTableEntryBase::wxEventTableEntryBase(int, int, wxEventFunctor*, wxObject*)':|
    C:\wxWidgets-3.1.3\include\wx\event.h|3381|undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'|
    obj\Debug\main.o||In function `wxWindowBase::GetBestVirtualSize() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|525|undefined reference to `wxWindowBase::GetBestSize() const'|
    obj\Debug\main.o||In function `wxWindowBase::CanBeFocused() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|738|undefined reference to `wxWindowBase::IsEnabled() const'|
    obj\Debug\main.o||In function `wxWindowBase::ProcessWindowEventLocally(wxEvent&)':|
    C:\wxWidgets-3.1.3\include\wx\window.h|870|undefined reference to `wxEvtHandler::ProcessEventLocally(wxEvent&)'|
    obj\Debug\main.o||In function `wxWindowBase::HasCapture() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|1034|undefined reference to `wxWindowBase::GetCapture()'|
    obj\Debug\main.o||In function `wxWindowBase::GetDefaultAttributes() const':|
    C:\wxWidgets-3.1.3\include\wx\window.h|1115|undefined reference to `wxWindowBase::GetClassDefaultAttributes(wxWindowVariant)'|
    obj\Debug\main.o||In function `wxWindow::wxWindow()':|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|35|undefined reference to `wxWindowBase::wxWindowBase()'|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|35|undefined reference to `wxWindow::Init()'|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|35|undefined reference to `wxWindowBase::~wxWindowBase()'|
    obj\Debug\main.o||In function `wxWindow::ShowWithEffect(wxShowEffect, unsigned int)':|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|89|undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'|
    obj\Debug\main.o||In function `wxWindow::HideWithEffect(wxShowEffect, unsigned int)':|
    C:\wxWidgets-3.1.3\include\wx\msw\window.h|94|undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'|
    obj\Debug\main.o||In function `wxTopLevelWindowBase::IsActive()':|
    C:\wxWidgets-3.1.3\include\wx\toplevel.h|201|undefined reference to `wxWindowBase::FindFocus()'|
    C:\wxWidgets-3.1.3\include\wx\toplevel.h|201|undefined reference to `wxWindowBase::IsDescendant(wxWindowBase*) const'|
    obj\Debug\main.o||In function `wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)':|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|30|undefined reference to `wxFrameBase::wxFrameBase()'|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|31|undefined reference to `wxFrame::Init()'|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|33|undefined reference to `wxFrame::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)'|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|30|undefined reference to `wxFrameBase::~wxFrameBase()'|
    obj\Debug\main.o||In function `wxFrame::MSWTranslateMessage(tagMSG*)':|
    C:\wxWidgets-3.1.3\include\wx\msw\frame.h|97|undefined reference to `wxFrame::MSWDoTranslateMessage(wxFrame*, tagMSG*)'|
    obj\Debug\main.o||In function `wxwxMenuItemListNode::wxwxMenuItemListNode(wxListBase*, wxwxMenuItemListNode*, wxwxMenuItemListNode*, wxMenuItem*, wxListKey const&)':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|37|undefined reference to `wxNodeBase::wxNodeBase(wxListBase*, wxNodeBase*, wxNodeBase*, void*, wxListKey const&)'|
    obj\Debug\main.o||In function `wxMenuItemList::Find(wxListKey const&) const':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|37|undefined reference to `wxListBase::Find(wxListKey const&) const'|
    obj\Debug\main.o||In function `wxMenuBase::wxMenuBase(long)':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|53|undefined reference to `wxEvtHandler::wxEvtHandler()'|
    C:\wxWidgets-3.1.3\include\wx\menu.h|53|undefined reference to `wxMenuBase::Init(long)'|
    C:\wxWidgets-3.1.3\include\wx\menu.h|53|undefined reference to `wxEvtHandler::~wxEvtHandler()'|
    obj\Debug\main.o||In function `wxMenuBase::Append(int, wxString const&, wxString const&, wxItemKind)':|
    C:\wxWidgets-3.1.3\include\wx\menu.h|67|undefined reference to `wxMenuItemBase::New(wxMenu*, int, wxString const&, wxString const&, wxItemKind, wxMenu*)'|
    obj\Debug\main.o||In function `wxMenu::wxMenu(long)':|
    C:\wxWidgets-3.1.3\include\wx\msw\menu.h|39|undefined reference to `wxMenu::Init()'|
    C:\wxWidgets-3.1.3\include\wx\msw\menu.h|39|undefined reference to `wxMenuBase::~wxMenuBase()'|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build failed: 50 error(s), 0 warning(s) (0 minute(s), 4 second(s)) ===|
    je remets toutes les erreurs au cas où

    si je mets un seul accent dans un string nom d'un menu ex: à
    j'obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ||=== Build: Debug in PremierProject (compiler: GNU GCC Compiler) ===|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp||In constructor 'MyFrame::MyFrame(const wxString&)':|
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp|64|error: converting to execution character set: Illegal byte sequence|
    ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 3 second(s)) ===|
    En fait, ça se tient : si tu laisses les accents, tu as une erreur à la compilation,et si tu les enlèves, l'erreur est au link.

    Citation Envoyé par pyoda Voir le message
    j'insiste un peu beaucoup mais c'est juste pour vérifier que la suite de la compilation fonctionne bien avant de me lancer
    Tu as raison : tu ne pourras de toute façon pas plus avancer tant que tu n'as pas résolu ces problèmes.

    Mais à priori, le deuxième est résolu par la conversion du fichier source en UTF-8 (puisque tu obtenais la série d'erreurs au link).
    On va donc se pencher sur ce plus gros problème.

    Dans les options du compilateur de Code::Blocks, active l'affichage de la ligne de commande complète :
    • Menu "Settings" => "Compiler"
    • Global compiler settings (à gauche)
    • Sous-onglet "Other settings" (il est généralement masqué)
    • Pour "Compiler logging", sélectionne "Full command line"

    Ensuite, tu fais un full rebuild de ton application et tu postes le résultat avec la ligne de commande invoquée comme ça on devrait arriver à voir ce qui ne va pas.

    @+
    Xav'

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    bonjour

    j'ai fait comme tu as dit

    "Full command line" était déjà activé avant

    j'ai refait toutes les manip et voici tous les rapport d'erreur copier de Build Log

    ========================================================================
    avec accents dans les zone de texte

    Settings -> General settings ->Encoding settings -> Use encoding when opening files = windows-1250

    Edite -> file encoding -> System default
    Rebuild complet
    donne erreur suivante

    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
    -------------- Clean: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
    
    Cleaned "PremierProject - Debug"
    
    -------------- Build: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
    
    x86_64-w64-mingw32-g++.exe -Wall -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.3\include -IC:\wxWidgets-3.1.3\lib\gcc_dll\mswud -c C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp -o obj\Debug\main.o
    x86_64-w64-mingw32-g++.exe -LC:\wxWidgets-3.1.3\lib\gcc_dll -o bin\Debug\PremierProject.exe obj\Debug\main.o   -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -mwindows
    In file included from C:\wxWidgets-3.1.3\include/wx/chartype.h:125,
                     from C:\wxWidgets-3.1.3\include/wx/debug.h:17,
                     from C:\wxWidgets-3.1.3\include/wx/defs.h:851,
                     from C:\wxWidgets-3.1.3\include/wx/wx.h:14,
                     from C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp:1:
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp: In constructor 'MyFrame::MyFrame(const wxString&)':
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp:64:62: error: converting to execution character set: Illegal byte sequence
          helpMenu->Append(Minimal_About, _T("&A propos...\tF1"), _T("Affiche la boite à propos"));
                                                                                 ^~
    Process terminated with status 1 (0 minute(s), 3 second(s))
    1 error(s), 0 warning(s) (0 minute(s), 3 second(s))
    ===========================================================================
    avec

    Settings -> General settings ->Encoding settings -> Use encoding when opening files = utf8
    Edite -> file encoding -> utf8

    donne la même erreur que ci-dessus

    ===============================================================================


    avec accent

    Settings -> General settings ->Encoding settings -> Use encoding when opening files = windows-1250

    Edite -> file encoding -> System default
    Rebuild complet

    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
    -------------- Clean: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
    
    Cleaned "PremierProject - Debug"
    
    -------------- Build: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
    
    x86_64-w64-mingw32-g++.exe -Wall -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.3\include -IC:\wxWidgets-3.1.3\lib\gcc_dll\mswud -c C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp -o obj\Debug\main.o
    x86_64-w64-mingw32-g++.exe -LC:\wxWidgets-3.1.3\lib\gcc_dll -o bin\Debug\PremierProject.exe obj\Debug\main.o   -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -mwindows
    In file included from C:\wxWidgets-3.1.3\include/wx/chartype.h:125,
                     from C:\wxWidgets-3.1.3\include/wx/debug.h:17,
                     from C:\wxWidgets-3.1.3\include/wx/defs.h:851,
                     from C:\wxWidgets-3.1.3\include/wx/wx.h:14,
                     from C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp:1:
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp: In constructor 'MyFrame::MyFrame(const wxString&)':
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp:64:62: error: converting to execution character set: Illegal byte sequence
          helpMenu->Append(Minimal_About, _T("&A propos...\tF1"), _T("Affiche la boite à propos"));
                                                                                 ^~
    Process terminated with status 1 (0 minute(s), 3 second(s))
    1 error(s), 0 warning(s) (0 minute(s), 3 second(s))
    ========================================================================
    avec accent

    Settings -> General settings ->Encoding settings -> Use encoding when opening files = utf8
    Edite -> file encoding -> utf8
    donne

    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
    -------------- Clean: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
    
    Cleaned "PremierProject - Debug"
    
    -------------- Build: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
    
    x86_64-w64-mingw32-g++.exe -Wall -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.3\include -IC:\wxWidgets-3.1.3\lib\gcc_dll\mswud -c C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp -o obj\Debug\main.o
    x86_64-w64-mingw32-g++.exe -LC:\wxWidgets-3.1.3\lib\gcc_dll -o bin\Debug\PremierProject.exe obj\Debug\main.o   -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -mwindows
    In file included from C:\wxWidgets-3.1.3\include/wx/chartype.h:125,
                     from C:\wxWidgets-3.1.3\include/wx/debug.h:17,
                     from C:\wxWidgets-3.1.3\include/wx/defs.h:851,
                     from C:\wxWidgets-3.1.3\include/wx/wx.h:14,
                     from C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp:1:
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp: In constructor 'MyFrame::MyFrame(const wxString&)':
    C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp:64:62: error: converting to execution character set: Illegal byte sequence
          helpMenu->Append(Minimal_About, _T("&A propos...\tF1"), _T("Affiche la boite à propos"));
                                                                                 ^~
    Process terminated with status 1 (0 minute(s), 2 second(s))
    1 error(s), 0 warning(s) (0 minute(s), 2 second(s))

    ======================================================================
    sans accent

    Settings -> General settings ->Encoding settings -> Use encoding when opening files = utf8
    Edite -> file encoding -> utf8


    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    -------------- Clean: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
     
    Cleaned "PremierProject - Debug"
     
    -------------- Build: Debug in PremierProject (compiler: GNU GCC Compiler)---------------
     
    x86_64-w64-mingw32-g++.exe -Wall -g -D__WXDEBUG__ -IC:\wxWidgets-3.1.3\include -IC:\wxWidgets-3.1.3\lib\gcc_dll\mswud -c C:\Users\lionel\Dev-C-C++\Projet1\PremierProject\main.cpp -o obj\Debug\main.o
    x86_64-w64-mingw32-g++.exe -LC:\wxWidgets-3.1.3\lib\gcc_dll -o bin\Debug\PremierProject.exe obj\Debug\main.o    -mwindows
    obj\Debug\main.o: In function `WinMain':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:27: undefined reference to `wxEntry(HINSTANCE__*, HINSTANCE__*, char*, int)'
    obj\Debug\main.o: In function `wxCreateApp()':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:27: undefined reference to `wxAppConsoleBase::CheckBuildOptions(char const*, char const*)'
    obj\Debug\main.o: In function `MyApp::OnInit()':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:33: undefined reference to `wxAppConsoleBase::OnInit()'
    obj\Debug\main.o: In function `MyFrame::MyFrame(wxString const&)':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:66: undefined reference to `wxMenuBar::wxMenuBar()'
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:69: undefined reference to `wxFrameBase::SetMenuBar(wxMenuBar*)'
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:72: undefined reference to `wxFrameBase::CreateStatusBar(int, long, int, wxString const&)'
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:73: undefined reference to `wxFrameBase::SetStatusText(wxString const&, int)'
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:58: undefined reference to `wxFrame::~wxFrame()'
    obj\Debug\main.o: In function `MyFrame::OnQuit(wxCommandEvent&)':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:81: undefined reference to `wxWindowBase::Close(bool)'
    obj\Debug\main.o: In function `MyFrame::OnAbout(wxCommandEvent&)':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:92: undefined reference to `wxGetOsDescription()'
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:86: undefined reference to `wxMessageBox(wxString const&, wxString const&, long, wxWindow*, int, int)'
    obj\Debug\main.o: In function `__tcf_1':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:50: undefined reference to `wxEventHashTable::~wxEventHashTable()'
    obj\Debug\main.o: In function `__static_initialization_and_destruction_0':
    C:/Users/lionel/Dev-C-C++/Projet1/PremierProject/main.cpp:50: undefined reference to `wxEventHashTable::wxEventHashTable(wxEventTable const&)'
    obj\Debug\main.o: In function `wxGet_wxConvLibc()':
    C:/wxWidgets-3.1.3/include/wx/strconv.h:616: undefined reference to `wxGet_wxConvLibcPtr()'
    obj\Debug\main.o:main.cpp:(.rdata+0x250): undefined reference to `wxFrame::sm_eventTable'
    obj\Debug\main.o: In function `wxFormatString::operator wchar_t const*() const':
    C:/wxWidgets-3.1.3/include/wx/strvararg.h:220: undefined reference to `wxFormatString::AsWChar()'
    obj\Debug\main.o: In function `wxArgNormalizerWchar<wxCStrData const&>::wxArgNormalizerWchar(wxCStrData const&, wxFormatString const*, unsigned int)':
    C:/wxWidgets-3.1.3/include/wx/strvararg.h:544: undefined reference to `wxFormatString::GetArgumentType(unsigned int) const'
    C:/wxWidgets-3.1.3/include/wx/strvararg.h:544: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    obj\Debug\main.o: In function `wxString::ImplStr(char const*, wxMBConv const&)':
    C:/wxWidgets-3.1.3/include/wx/string.h:362: undefined reference to `wxString::ConvertStr(char const*, unsigned long long, wxMBConv const&)'
    obj\Debug\main.o: In function `wxObject::operator=(wxObject const&)':
    C:/wxWidgets-3.1.3/include/wx/object.h:361: undefined reference to `wxObject::Ref(wxObject const&)'
    obj\Debug\main.o: In function `wxListBase::wxListBase(wxKeyType)':
    C:/wxWidgets-3.1.3/include/wx/list.h:448: undefined reference to `wxListBase::Init(wxKeyType)'
    obj\Debug\main.o: In function `wxCriticalSectionLocker::wxCriticalSectionLocker(wxCriticalSection&)':
    C:/wxWidgets-3.1.3/include/wx/thread.h:307: undefined reference to `wxCriticalSection::Enter()'
    obj\Debug\main.o: In function `wxCriticalSectionLocker::~wxCriticalSectionLocker()':
    C:/wxWidgets-3.1.3/include/wx/thread.h:312: undefined reference to `wxCriticalSection::Leave()'
    obj\Debug\main.o: In function `wxTrackable::RemoveNode(wxTrackerNode*)':
    C:/wxWidgets-3.1.3/include/wx/tracker.h:57: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    obj\Debug\main.o: In function `wxEventTableEntryBase::wxEventTableEntryBase(int, int, wxEventFunctor*, wxObject*)':
    C:/wxWidgets-3.1.3/include/wx/event.h:3381: undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
    obj\Debug\main.o: In function `wxWindowBase::GetBestVirtualSize() const':
    C:/wxWidgets-3.1.3/include/wx/window.h:525: undefined reference to `wxWindowBase::GetBestSize() const'
    obj\Debug\main.o: In function `wxWindowBase::CanBeFocused() const':
    C:/wxWidgets-3.1.3/include/wx/window.h:738: undefined reference to `wxWindowBase::IsEnabled() const'
    obj\Debug\main.o: In function `wxWindowBase::ProcessWindowEventLocally(wxEvent&)':
    C:/wxWidgets-3.1.3/include/wx/window.h:870: undefined reference to `wxEvtHandler::ProcessEventLocally(wxEvent&)'
    obj\Debug\main.o: In function `wxWindowBase::HasCapture() const':
    C:/wxWidgets-3.1.3/include/wx/window.h:1034: undefined reference to `wxWindowBase::GetCapture()'
    obj\Debug\main.o: In function `wxWindowBase::GetDefaultAttributes() const':
    C:/wxWidgets-3.1.3/include/wx/window.h:1115: undefined reference to `wxWindowBase::GetClassDefaultAttributes(wxWindowVariant)'
    obj\Debug\main.o: In function `wxWindow::wxWindow()':
    C:/wxWidgets-3.1.3/include/wx/msw/window.h:35: undefined reference to `wxWindowBase::wxWindowBase()'
    C:/wxWidgets-3.1.3/include/wx/msw/window.h:35: undefined reference to `wxWindow::Init()'
    C:/wxWidgets-3.1.3/include/wx/msw/window.h:35: undefined reference to `wxWindowBase::~wxWindowBase()'
    obj\Debug\main.o: In function `wxWindow::ShowWithEffect(wxShowEffect, unsigned int)':
    C:/wxWidgets-3.1.3/include/wx/msw/window.h:89: undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'
    obj\Debug\main.o: In function `wxWindow::HideWithEffect(wxShowEffect, unsigned int)':
    C:/wxWidgets-3.1.3/include/wx/msw/window.h:94: undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'
    obj\Debug\main.o: In function `wxTopLevelWindowBase::IsActive()':
    C:/wxWidgets-3.1.3/include/wx/toplevel.h:201: undefined reference to `wxWindowBase::FindFocus()'
    C:/wxWidgets-3.1.3/include/wx/toplevel.h:201: undefined reference to `wxWindowBase::IsDescendant(wxWindowBase*) const'
    obj\Debug\main.o: In function `wxFrame::wxFrame(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)':
    C:/wxWidgets-3.1.3/include/wx/msw/frame.h:30: undefined reference to `wxFrameBase::wxFrameBase()'
    C:/wxWidgets-3.1.3/include/wx/msw/frame.h:31: undefined reference to `wxFrame::Init()'
    C:/wxWidgets-3.1.3/include/wx/msw/frame.h:33: undefined reference to `wxFrame::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)'
    C:/wxWidgets-3.1.3/include/wx/msw/frame.h:30: undefined reference to `wxFrameBase::~wxFrameBase()'
    obj\Debug\main.o: In function `wxFrame::MSWTranslateMessage(tagMSG*)':
    C:/wxWidgets-3.1.3/include/wx/msw/frame.h:97: undefined reference to `wxFrame::MSWDoTranslateMessage(wxFrame*, tagMSG*)'
    obj\Debug\main.o: In function `wxwxMenuItemListNode::wxwxMenuItemListNode(wxListBase*, wxwxMenuItemListNode*, wxwxMenuItemListNode*, wxMenuItem*, wxListKey const&)':
    C:/wxWidgets-3.1.3/include/wx/menu.h:37: undefined reference to `wxNodeBase::wxNodeBase(wxListBase*, wxNodeBase*, wxNodeBase*, void*, wxListKey const&)'
    obj\Debug\main.o: In function `wxMenuItemList::Find(wxListKey const&) const':
    C:/wxWidgets-3.1.3/include/wx/menu.h:37: undefined reference to `wxListBase::Find(wxListKey const&) const'
    obj\Debug\main.o: In function `wxMenuBase::wxMenuBase(long)':
    C:/wxWidgets-3.1.3/include/wx/menu.h:53: undefined reference to `wxEvtHandler::wxEvtHandler()'
    C:/wxWidgets-3.1.3/include/wx/menu.h:53: undefined reference to `wxMenuBase::Init(long)'
    C:/wxWidgets-3.1.3/include/wx/menu.h:53: undefined reference to `wxEvtHandler::~wxEvtHandler()'
    obj\Debug\main.o: In function `wxMenuBase::Append(int, wxString const&, wxString const&, wxItemKind)':
    C:/wxWidgets-3.1.3/include/wx/menu.h:67: undefined reference to `wxMenuItemBase::New(wxMenu*, int, wxString const&, wxString const&, wxItemKind, wxMenu*)'
    obj\Debug\main.o: In function `wxMenu::wxMenu(long)':
    C:/wxWidgets-3.1.3/include/wx/msw/menu.h:39: undefined reference to `wxMenu::Init()'
    C:/wxWidgets-3.1.3/include/wx/msw/menu.h:39: undefined reference to `wxMenuBase::~wxMenuBase()'
    Process terminated with status 1 (0 minute(s), 5 second(s))
    50 error(s), 0 warning(s) (0 minute(s), 5 second(s))

    ======================================================================
    avec accent

    Settings -> General settings ->Encoding settings -> Use encoding when opening files = utf8
    Edite -> file encoding -> utf8
    denne les mêmes erreurs que celles juste avant

    ========================================================================
    quelque soit les manip j'obtient un coup une erreur un coup l'autre
    un coup avec accent et un coup sans

    par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	    wxMenu *fileMenu = new wxMenu;
    	    fileMenu->Append(Minimal_Quit, _T("&Quitter\tAlt-Q"), _T("Sortir du programme"));
    	    wxMenu *helpMenu = new wxMenu;
    	    helpMenu->Append(Minimal_About, _T("&A propos...\tF1"), _T("Affiche la boite à propos"));
    ce _T je ne vois pas ce qu'il signifie
    dans la première erreur le deuxième est pointé par ^~~
    la mise en page le déplace au début de ligne

    c'est un peu le bordel et dans ma tête aussi la je break
    car plus je manip plus je merde

    merci encore pour le temps

    A+

  13. #13
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Février 2006
    Messages : 562
    Points : 859
    Points
    859
    Par défaut
    Bonsoir.

    En regardant vite fait les logs on remarque que vous n'avez pas bien configuré les options de compilation et de link de votre projet. Je vous recommande de bien relire l'article de 3DArchi sur l'installation et la compilation de wxWidgets. Dans votre projet vous devez reprendre les mêmes options que celles de la compilation de la librairie, en particulier le mode c++11 et ajouter la librairie dans les options de linkage.

  14. #14
    Membre averti Avatar de wxXav
    Homme Profil pro
    Développeur amateur
    Inscrit en
    Décembre 2008
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur amateur

    Informations forums :
    Inscription : Décembre 2008
    Messages : 214
    Points : 354
    Points
    354
    Par défaut
    Hello

    Comme l'a dit ddaime dans le post précédent, il y a un problème avec les options de compilation : à aucun moment tu ne lies ton exécutable avec les libs wxWidgets.
    Tu devrais recommencer en créant directement un projet wxWidgets avec l'assitant de Code::Blocks.

    Pour les problèmes d'accents, il faut bien convertir le fichier correspondant via le menu "Edit" => "File Encoding" => "Utf-8".
    Mais dans la foulée, il faut redonner le focus à l'éditeur en cliquant dedans (c'est à ce moment là que l'encodage sera indiqué correctement dans la barre d'état de Code::Blocks) et l'enregistrer (par exemple via CTRL+S).


    Citation Envoyé par pyoda Voir le message
    ce _T je ne vois pas ce qu'il signifie
    Il s'agit d'une macro qui était très utile avant wxWidgets 3.x.x.
    En effet, avec les antérieures, on pouvait choisir de compiler les libs en Unicode ou non.
    Si on était en Unicode, il fallait spécifier les chaînes de caractères en les faisant précéder d'un "L" pour indiquer qu'il s'agissait d'une chaîne Unicode.
    À l'inverse, en Ansi, on ne mettait que les guillemets classiques.
    Cette macro permettait de définir une chaîne de caractères sans se soucier de savoir dans quel cas on se trouvait.

    Pour ma part, je continue à l'utiliser car c'est devenu plus qu'un réflexe.
    Et il est possible que tu doives la conserver si tu veux spécifier des chaînes avec des caractères spéciaux.
    De mon côté, j'ai pris l'habitude de tout coder en anglais, et d'activer le système de d’internationalisation de wxWidgets pour basculer mes application an français : je conserve la macro _T("...") pour les chaînes qui ne doivent pas être traduites, et j'utilise la macro _("...") pour les chaînes à traduire (cette macro est remplacée par wxGetTranslation(_T(".....")) au moment de la compilation).

    Donc voilà : j'espère ne pas t'avoir trop dégouté de wxWidgets avec ma prose....
    Pour faire simple : re-crées un projet wxWidgets avec Code::Blocks : ça te permettra déjà d'avoir un premier truc qui fonctionne.

    Ensuite, tu pourras t'attaquer aux accents.

    Dans tous les cas, ne te gènes pas pour demander dès que tu as un soucis.

    Courage, et bonne chance.

    @+
    Xav'

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 24
    Points
    24
    Par défaut
    Bonsoir wxXav


    merci pour ta réponse et aussi à ddaime

    Tout marche parfaitement la vhaine de compile parfait

    J'ai tout casse et repris à zéro à force de maniper on fait des conneries

    et après avoir tout paramètrer correctement (j'avais oublier 2 paramètres dans Build options)

    et utiliser un bout de code récent tout fonctionne
    plus de pb d'accent et de compile

    me reste plus qu'a mettre les mains dedans

    voila merci bien à toi peu être à charge de revanche

    merci aussi à ddaime et à 3DArchi

    Bon courage à tous et prenez soins de vous (surtout en ce moment)

    A+

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

Discussions similaires

  1. [WxWidgets] installation code:blocks
    Par maminova77 dans le forum Code::Blocks
    Réponses: 16
    Dernier message: 25/01/2011, 09h15
  2. Installer wxWidgets avec Code::Blocks
    Par Shugo78 dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 25/06/2007, 10h36
  3. Réponses: 2
    Dernier message: 23/04/2007, 22h37
  4. [kjAPI] Compilation avec Code::Blocks
    Par ThomasCh dans le forum Moteurs 3D
    Réponses: 5
    Dernier message: 17/10/2006, 09h01
  5. [débutant]impossible d'éxecuter avec Code::blocks!
    Par Antigonos Ier Gonatas dans le forum Code::Blocks
    Réponses: 6
    Dernier message: 31/05/2006, 19h53

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