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

Code::Blocks Discussion :

code::blocks et wxWidget 2.8


Sujet :

Code::Blocks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut code::blocks et wxWidget 2.8
    Bonjour,

    Ca fait donc à peu près deux semaines que j'essaye d'installer wxWidget 2.8 sous code::blocks. J'ai essayé moult solutions, qui n'ont pas abouties.

    A l'heure actuelle j'ai l'erreur suivante cannot find -lwxmsw. Je ne comprend pas bien les erreurs de link en règle général et celle ci ne fait pas exception.

    Pour en arriver là, j'ai téléchargé et compilé en release la lib wxWidget 2.8 puis sous code::blocks, j'ai mis dans settings->compiler->directories les dossiers include et lib de wxWidget. Enfin j'ai ajouté les lib dans les options linker. J'ai créé un projet en wxwidget et je l'ai compilé, le compilateur me dit alors "cannot find -lwxmsw".

    Voila, je sais pas trop si vous comprenez bien ce que j'ai fait et je suis clair. En fait, si vous connaissez un lien vers un site qui explique comment installer la lib wxWidget 2.8 sous code::blocks de A à Z ne vous fatiguez pas à comprendre mon problème... donnez moi le lien

    Mais bon, j'ai eu beau chercher... j'ai peut-être mal chercher, mais j'ai rien trouvé... dsl

    Si qq1 a une idée pour mon problème je lui en serais très reconnaissant. Je pense que le vrai problème c'est que je ne connais pas grand chose sur la signification de la ligne de commande de la compilation (gcc -o main.cpp etc etc...). Je suis preneur pour un tutoriel compilateurs.

    Bon, je parle trop ... Merci à ceux qui veulent bien m'aider.

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 371
    Par défaut
    Bien le bonjour,

    Il faut que tu ailles voir le nom de la bibliothèque statique correspondant à la version de wxwidgets que tu as installée.

    -lwxmsw signifie que le compilo ira chercher un fichier nommé libwxmsw.a. Regarde si ce fichier existe bien et s'il a bien ce nom là. Renomme-le ou change l'option d'édition de liens en conséquence.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut
    Merci beaucoup pour cette réponse.

    Alors le gros problème c'est que pour créer mon projet j'ai pris le template wxWidget de code::blocks qui ne marche que si wxWidget est installé sous c:\wxWidget, ce n'est pas mon cas.

    J'aurais donc aimé savoir si il n'y a pas un moyen de changer ce répertoire dans les options du compilateur, j'ai cherché mais rien trouvé. De plus, le problème est que j'ai la version 2.8 de wxWidget, la libwxmsw s'appelle libwxmsw28 (pour la version 2.8). Dans Duild->Compiler Settings->other options, il y avait écrit -libwxmsw je l'ai remplacé par -libwxmsw... ça n'a rien changé...

    je vous montre le log :

    Project : wxWidgets application
    Compiler : GNU GCC Compiler (called directly)
    Directory : D:\Mes documents\Guillaume\Dev\Widget\
    --------------------------------------------------------------------------------
    Switching to target: default
    Linking executable: D:\Mes documents\Guillaume\Dev\Widget\wxWidgets.exe
    C:\Program Files\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\mingw32\bin\ld.exe: cannot find -lwxmsw
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 0 seconds)
    1 errors, 0 warnings

    voila, je vais peut-etre essayer de réinstaller la lib correctement, je suis pas sûr d'avoir pris les bonnes options lors de l'install

    Si toutefois tu as le temps de m'expliquer comment je peux, à partir de l'nstalleur code::blocks et wxWidget, créer un projet compilable, ce serait génial... bien sûr, on a pas tous que ça à faire .

    En tout cas, merci pour ta réponse...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    410
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 410
    Par défaut
    ben si ta librairie s'appel libwxmsw28.a il faut que tu link (-l) avec ce nom là c'est à dire:
    -llibwxmsw28.a ou -lwxmsw28
    mais c'est bizard, moi quand je compile wx j'ai plusieurs lib qui commencent leur nom en libwxmsw28_***.a et pas seulement libwxmsw28.a . Tu as compilé en statique?
    si c'est le cas pour compiler le projet le plus basic tu as besoin de 3 libs (hormis celles de la win32):
    libwxmsw28_core.a -> -lwxmsw28_core
    libwxbase.a -> -lwxbase
    libwxmsw28_adv.a -> -lwxmsw28_adv

    je met un .zip avec la mise en place d'un projet minimaliste...
    Fichiers attachés Fichiers attachés

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut
    Merci beaucoup pour tes indications...

    Cependant je suis navré, mais ça compile toujours pas... surtout que je n'ai pas les mêmes lib que toi. moi j'ai les lib suivantes :

    - libwxexpat.a
    - libwxjpeg.a
    - libwxmsw28u.a
    - libwxpng.a
    - libwxregexu.a
    - libwxtiff.a
    - libwxzlib.a

    Sans compter la DLL : wxmsw28u_gcc_custom.dll

    toutes situées dans C:\CodeBlocks\wxWidgets-2.8.0\lib\gcc_dll. Après compilation. Pour info, la ligne de commande que j'ai faite pour compiler la librairie est la suivante :

    mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release

    C'était peut-être pas ça... ensuite j'ai ouvert ton projet minimaliste sous Code::Blocks et il n'a pas voulu compilé (pas cool). Il m'a marqué cannot find -lwxmsw28_core Logique puisque la lib n'est pas la bonne.

    J'ai donc mis les dossiers include et lib nécessaires et les lib ainsi que les -lwxetc... et il me marque maintenant :

    Linking executable: D:\Mes documents\Guillaume\Dev\Proj_Widget\Win32GUI.exe
    Info: resolving wxAppConsole::ms_appInstance by linking to __imp___ZN12wxAppConsole14ms_appInstanceE (auto-import)
    Info: resolving wxStringBase::npos by linking to __imp___ZN12wxStringBase4nposE (auto-import)
    Info

    Donc voila, je comprend pas encore bien tout ça... Si vous avez une idée...

    Pour information, j'ai quand même réussi à créer un projet wxWidget v2.6.3 sur DevCpp avec le dev packs et ça marche bien... mais bon, j'étais parti sur wxWidget v2.8 et puis surtout, j'apprend des choses qui pourront m'être utiles à l'avenir dans l'installation d'autres bibliothèques, si vous êtes toujours OK pour m'aider , je suis donc toujours preneur

    A bientot et merci beaucoup pour vos conseils.
    J'ai encore la foi, j'y arriverai... aujourd'hui ou dans trois ans

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Par défaut
    Rectification du mail précédent... En fait, les options de compilation de la bibliothèque n'était pas vraiment les bons.

    J'ai recompilé la lib en Release avec un mingw32-make -f makefile.gcc BUILD=release et du coup j'ai les bonnes lib...

    Il compile presque, une petite erreur subsiste :

    Linking executable: bin\testwx.exe
    C:\CodeBlocks\lib/libmingw32.a(main.o):main.c.text+0x106): undefined reference to `WinMain@16'

    Je ne sais pas à quoi c'est dû, je cherche encore... j'y arriverai...

    A bientot

+ 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. Pb de compilation d'un projet wxWidgets sous Code::Blocks
    Par fild'air dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 07/01/2009, 22h49
  3. [WxWidgets] installation code:blocks erreur au make
    Par grabriel dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 17/04/2008, 18h10
  4. Utiliser les wxWidgets sous code::block
    Par cobra85 dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 07/12/2007, 22h30
  5. Installer wxWidgets avec Code::Blocks
    Par Shugo78 dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 25/06/2007, 10h36

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