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 :

Installation de wxWidgets 3.0.2 sous Code::Blocks 16.01


Sujet :

wxWidgets

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut Installation de wxWidgets 3.0.2 sous Code::Blocks 16.01
    Merci wxXav,

    A ta demande, j'ouvre une nouvelle discussion.


    Je rappelle mon problème de compilation :
    C:/Program Files (x86)/CodeBlocks/MinGW/lib/gcc/mingw32/4.9.2/include/c++/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

    Et ta réponse

    Voici le complément à ajouter à la ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CXXFLAGS=-fno-keep-inline-dllexport -std=gnu++11
    Et pour gagner un peu de temps lors de la compilation, il est possible d'utiliser les différents coeurs du processeur en lançant plusieurs processus en même temps :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 clean
    mingw32-make -f makefile.gcc setup_h USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport -std=gnu++11
    mingw32-make -j4 -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport -std=gnu++11
    L'option "-j4" permet de lancer 4 processus de compilation en même temps : elle est à adapter en fonction du processeur.
    Pour le paramètre "-fno-keep-inline-dllexport", je ne sais pas exactement à quoi il sert, mais je me souviens qu'il était indispensable pour la compilation en monolithique (sinon le linker plantait à cause d'un dépassement de mémoire).
    Et pour le paramètre "-std=gnu++11", il permet de résoudre ton message d'erreur.
    Bonne compilation.
    @+
    Xav'
    Ton conseil a résolu mon problème de compilation. Merci !

    Par contre, lorsque je veux créer un projet sous Code::Blocks, j'ai toujours le message : "A matching debug configuration cannot..."

    Philippe

  2. #2
    Membre chevronné 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
    Par défaut
    Salut.

    Citation Envoyé par Pgs Voir le message
    A ta demande, j'ouvre une nouvelle discussion.
    Ce n'était pas vraiment une demande : juste un conseil.

    Citation Envoyé par Pgs Voir le message
    Par contre, lorsque je veux créer un projet sous Code::Blocks, j'ai toujours le message : "A matching debug configuration cannot..."
    C'est tout à fait normal : tu as compilé tes libs en mode "release" uniquement. Il est donc normal que Code::Blocks ne trouve pas de configuration "debug".
    Maintenant, si tu lances les mêmes commandes en ramplaçant "BUILD=release" par "BUILD=debug", tu auras les deux configurations disponibles, et Code::Blocks ne t'embêtera plus avec ce message d'erreur (mais si tu ne souhaites pas utiliser de configuration debug pour ton application, tu peux tout simplement ignorer le message d'avertissement, ou décocher l'option correspondante dans l'assistant Nouveau Projet de Code::Blocks).

    Bonne continuation.
    Xav'

  3. #3
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Merci !

    J'ai décoché la configuration DEBUG et, comme tu le disais, le problème du message est maintenant réglé.

    J'ai donc créé un projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    * wsWidgets 3.0.x
    * prefered GUI Builder : none
    * applicatio Type : Dialog Based
    * create "Release" configuration
    * Use wxWidgets DLL
    * wxWidgets is built as a monilithic library
    * enable unicode
    * Create and use precompiled header
    * Advanced options : case "Use_WXDEBUG_..." non sélectionnée
    * Release Target : Gui Mode Application
    J'ai ensuite directement lancé un build et voici ce que j'obtiens.

    /** @file bits/c++0x_warning.h
    * This is an internal header file, included by other library headers.
    * Do not attempt to use it directly. @headername{iosfwd}
    */

    #ifndef _CXX0X_WARNING_H
    #define _CXX0X_WARNING_H 1

    #if __cplusplus < 201103L
    #error This file requires compiler and library support for the \
    ISO C++ 2011 standard. This support is currently experimental, and must be \
    enabled with the -std=c++11 or -std=gnu++11 compiler options.
    #endif

    #endif


    ||=== Build: Release in Test_wx (compiler: GNU GCC Compiler) ===|
    C:\Program Files (x86)\CodeBlocks\MinGW\lib\gcc\mingw32\4.9.2\include\c++\bits\c++0x_warning.h|32|error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.|
    C:\wxWidgets-3.0.2\include\wx\strvararg.h|350|error: 'is_enum' in namespace 'std' does not name a template type|
    C:\wxWidgets-3.0.2\include\wx\strvararg.h|354|error: 'is_enum' was not declared in this scope|
    C:\wxWidgets-3.0.2\include\wx\strvararg.h|354|error: template argument 1 is invalid|
    ||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 8 second(s)) ===|

    Y-a-t-il une étape complémentaire obligatoire à faire avant le construire ce projet vide ?

    En fait, je souhaite démarrer mon projet par un simple menu déroulant avec deux items : Date et Heure. Lorsque l'on sélectionne "Date", le programme affiche la date dans une boite message. Idem pour l'heure.

    Merci

    Philippe
    Images attachées Images attachées

  4. #4
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    (suite)

    J'ai tenté une compilation debug et voici ce que j'obtiens :
    C:\wxWidgets-3.0.2\build\msw>mingw32-make -j4 -f makefile.gcc USE_XRC=1 SHARED=1
    MONOLITHIC=1 BUILD=debug UNICODE=1
    if not exist gcc_mswuddll mkdir gcc_mswuddll
    if not exist ..\..\lib\gcc_dll\mswud mkdir ..\..\lib\gcc_dll\mswud
    if not exist ..\..\lib\gcc_dll\mswud\wx\setup.h copy ..\..\include\wx\msw\setup.
    h ..\..\lib\gcc_dll\mswud\wx\setup.h
    gcc -c -o gcc_mswuddll\wxregex_regcomp.o -g -O0 -mthreads -DHAVE_W32API_H -DNDE
    BUG -I..\..\include -I..\..\lib\gcc_dll\mswud -D__WXMSW__ -D_UNICODE -fno-keep
    -inline-dllexport -MTgcc_mswuddll\wxregex_regcomp.o -MFgcc_mswuddll\wxregex_regc
    omp.o.d -MD -MP ../../src/regex/regcomp.c
    gcc -c -o gcc_mswuddll\wxregex_regexec.o -g -O0 -mthreads -DHAVE_W32API_H -DNDE
    BUG -I..\..\include -I..\..\lib\gcc_dll\mswud -D__WXMSW__ -D_UNICODE -fno-keep
    -inline-dllexport -MTgcc_mswuddll\wxregex_regexec.o -MFgcc_mswuddll\wxregex_rege
    xec.o.d -MD -MP ../../src/regex/regexec.c
    Le chemin d'accès spécifié est introuvable.
    0 fichier(s) copié(s).
    makefile.gcc:5651: recipe for target '..\..\lib\gcc_dll\mswud\wx\setup.h' failed

    mingw32-make: *** [..\..\lib\gcc_dll\mswud\wx\setup.h] Error 1
    mingw32-make: *** Waiting for unfinished jobs....
    In file included from ..\..\include/wx/defs.h:27:0,
    from ../../src/regex/regcustom.h:39,
    from ../../src/regex/regguts.h:38,
    from ../../src/regex/regexec.c:32:
    ..\..\include/wx/platform.h:183:22: fatal error: wx/setup.h: No such file or dir
    ectory
    #include "wx/setup.h"
    ^
    In file included from ..\..\include/wx/defs.h:27:0,
    from ../../src/regex/regcustom.h:39,
    from ../../src/regex/regguts.h:38,
    from ../../src/regex/regcomp.c:33:
    ..\..\include/wx/platform.h:183:22: fatal error: wx/setup.h: No such file or dir
    ectory
    #include "wx/setup.h"
    ^
    ccomopmilpaitliaotni otne rtmeirnmaitneadt.e
    d.
    makefile.gcc:5705: recipe for target 'gcc_mswuddll\wxregex_regexec.o' failed
    mingw32-make: *** [gcc_mswuddll\wxregex_regexec.o] Error 1
    makefile.gcc:5702: recipe for target 'gcc_mswuddll\wxregex_regcomp.o' failed
    mingw32-make: *** [gcc_mswuddll\wxregex_regcomp.o] Error 1

    C:\wxWidgets-3.0.2\build\msw>

  5. #5
    Membre chevronné 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
    Par défaut
    Je n'y avais pas pensé, mais c'est tout à fait logique que ça ne compile pas.

    On a ajouté l'option, "-std=gnu++11" pour la compilation des libs : il faut faire de même pour compiler ton projet.

    Dans Code::Blocks, après avoir ouvert ton projet, tu vas dans "Project", "Build options".
    Tu sélectionnes le project dans la liste de gauche (et non une des configuration).
    Tu vas dans l'onglet "Compiler Settings" à droite, puis dans le sous-onglet "Other compiler options"
    Et dans la liste que contient ce sous-onglet, tu ajoutes tout simpelement une ligne contenant "-std=gnu++11".

    En ce qui concerne la tentative de compilation d'une configuration "Debug", je dirais que tu as lancé directement la commande "make... -j4" sans au préalable lancer celle qui contient "setup_h".
    Comme plusieurs processus sont lancés en même temps, il faut absolument le faire avant, afin que le fichier "setup.h" soit créé au bon endroit et qu'il soit disponible pour tous les processus.

    @+
    Xav'

  6. #6
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Merci !

    a) Le programme se compile, mais lors de l'exécution, j'obtiens "il manque wxmsw30u_gcc-custom.dll sur votre ordinateur".

    b) Pour la compilation de wx, voici ce que j'obtiens

    C:\wxWidgets-3.0.2\build\msw>mingw32-make -f makefile.gcc setup_h USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1
    if not exist ..\..\lib\gcc_dll\mswu mkdir ..\..\lib\gcc_dll\mswu
    if not exist ..\..\lib\gcc_dll\mswu\wx mkdir ..\..\lib\gcc_dll\mswu\wx

    C:\wxWidgets-3.0.2\build\msw>mingw32-make -f makefile.gcc setup_h USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1
    if not exist ..\..\lib\gcc_dll\mswud\wx mkdir ..\..\lib\gcc_dll\mswud\wx
    if not exist ..\..\lib\gcc_dll\mswud\wx\setup.h copy ..\..\include\wx\msw\setup.
    h ..\..\lib\gcc_dll\mswud\wx\setup.h 1 fichier(s) copié(s).
    if not exist ..\..\lib\gcc_dll\mswud\wx\msw mkdir ..\..\lib\gcc_dll\mswud\wx\mswgcc -E "..\..\include\wx\msw\genrcdefs.h" > "..\..\lib\gcc_dll\mswud\wx\msw\rcdefs.h"

    C:\wxWidgets-3.0.2\build\msw>

    J'ai ensuite relancé mingw32-make -j4 -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1

    Cette fois-ci, plus d'erreur.

    Mais si je créé un projet debug et release, j'ai à nouveau le message "A matching debug configuration cannot..."

    Philippe

Discussions similaires

  1. Installation de wxWidgets 3.0.2 sous Code::Blocks 13.12
    Par awawawa dans le forum wxWidgets
    Réponses: 12
    Dernier message: 07/02/2016, 19h01
  2. Installation wxWidgets 3.02 sous Code::Blocks 13.12
    Par jcmic dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 09/11/2014, 13h40
  3. Installation DevIL sous Code::Blocks ?
    Par gongaga dans le forum DevIL
    Réponses: 1
    Dernier message: 09/05/2007, 11h50
  4. wxwidgets 2.6.3 sous code::blocks1.0rc2
    Par aziz jim dans le forum wxWidgets
    Réponses: 16
    Dernier message: 01/08/2006, 13h29

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