Membres inscrits :596
Membres en ligne : 0
Invités en ligne : 3


|
| Conversation (Résolue) : wxBitmapComboBox |
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
j'ai une erreur à la compilation que je ne comprends pas.. Si quelqu'un a une idée ...
Code: cbSelectClef= new wxBitmapComboBox (m_notebook4, wxID_ANY, wxT(""), wxPoint (0,0), wxDefaultSize, 0, NULL,0, wxDefaultValidator, wxT("")); tmpBitmap= new wxBitmap(wxT("SymboleCommande\\Clef_Sol.bmp")); cbSelectClef->Append(wxT(""), *tmpBitmap); message d'erreur :
Code: C:\Documents and Settings\yannp\Mes documents\Perso\Developpement\wx\windowsComp.cpp|294|warning: "/*" within comment| )]+0x358)||undefined reference to `__imp___ZTV20wxOwnerDrawnComboBox'| )]+0x362)||undefined reference to `__imp___ZTV20wxOwnerDrawnComboBox'| )]+0x39b)||undefined reference to `__imp___ZN20wxOwnerDrawnComboBox4InitEv'| )]+0x3b0)||undefined reference to `__imp___ZTV16wxBitmapComboBox'| )]+0x3ba)||undefined reference to `__imp___ZTV16wxBitmapComboBox'| )]+0x3ca)||undefined reference to `__imp___ZTV16wxBitmapComboBox'| )]+0x408)||undefined reference to `__imp___ZN16wxBitmapComboBox4InitEv'| )]+0x463)||undefined reference to `__imp___ZN16wxBitmapComboBox6CreateEP8wxWindowiRK8wxStringRK7wxPointRK6wxSizeiPS3_lRK11wxValidatorS4_'| )]+0x512)||undefined reference to `__imp___ZN20wxOwnerDrawnComboBoxD2Ev'| ||=== Build finished: 9 errors, 1 warnings ===| merci d'avance
Yann
| |
|
Sem (Membre)
Inscrit le : 31-05-2008
Messages: 64
Snippets: 0
Tutoriels: 0
Hors ligne |
bonjour, je ne sais pas comment tu compiles ton projet, mais typiquement il te manque la librairie wxAdvanced je dirais. Tu compiles comment ? tu es avec la librairie en shared ? monolitic ?
Sem
Dernière modification par Sem (09-07-2010 10:41:54)
| |
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Je ne sais pas. Je t'avoue que je ne maitrise rien en terme de compilation. Je suis allé voire dans les options de compil .. mais je ne comprends pas grand chose.. Comment faire pour ajouter la librairie wxAdvanced..? je ne l'ai pas trouvé.
Merci pour ton aide Yann
| |
|
Sem (Membre)
Inscrit le : 31-05-2008
Messages: 64
Snippets: 0
Tutoriels: 0
Hors ligne |
coucou, tu peux indiquer ce que t'affiches la complation du style : g++.exe truc.o machin.o ....
| |
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Les options que j'ai sous codeblock dans le global compilateur setting:
c compiler : mingw32-gcc.exe c++ compiler :mingw32-g++.exe
dans build options: GNU GCC COmpiler il y a aussi des librairies mais pas wxAdvanced. J'ai fait une recherche et je ne la trouve pas dans mon installation de wxWidget.
Yann
Dernière modification par yannp (09-07-2010 11:47:13)
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1146
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Salut.
Il faut modifier les options de compilation du projet, pas les options "générales" : - Menu "Project", "Build options" - Tu sélectionnes la configuration à modifier dans la partie de gauche (debug, release) - Dans la partie de droite, tu sélectionnes l'onglet "Linker settings" - Tu dois normalement avoir une liste de libs déjà liées à ton projet, du style "libwx.....a" dont une qui s'appelle "core" (chez moi, avec unicode, elle s'appelle "libwxmsw28u_core.a" ) - Il faut ajouter la lib "adv" : tu cliques sur "Add", et tu entres la même chose en remplaçant "core" par "adv" - Suivant où tu as pris tes libs (compilation personnelle, téléchargement, Ansi au lieu de Unicode, ...), il se peut que le nom diffère un peu, c'est pour ça que je te conseille de prendre exemple sur la lib "core"
Normalement, avec ça, ça devrait compiler
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut, Ca compile, seulement à l'exécution ça plante ...
Code: cbSelectClef= new wxBitmapComboBox (m_notebook4, wxID_ANY, wxT(""), wxPoint (200,20), wxDefaultSize, 0, NULL,wxCB_READONLY, wxDefaultValidator, wxT("")); merci
Yann
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1146
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Bizarre. T'es certain que le problème vient de là ?
Par contre, j'ai l'impression que tu t'embêtes souvent avec les paramètres par défaut. Tu peux par exemple remplacer ton code par :
Code wxWidgets:cbSelectClef= new wxBitmapComboBox (m_notebook4, wxID_ANY, wxT(""), wxPoint (200,20), wxDefaultSize, 0, NULL,wxCB_READONLY); Ça le rendra à mon avis un peu plus lisible (mais ce n'est que mon avis...)
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Je viens d'essayer, hélas ce ne marche toujours pas. Quand j'enlève la ligne ca marche !!!!
Et en plus sur le net je ne trouve pas d'exemple ... Au secours !!!!
@+ Yann
Dernière modification par yannp (09-07-2010 16:05:52)
| |
|
Sem (Membre)
Inscrit le : 31-05-2008
Messages: 64
Snippets: 0
Tutoriels: 0
Hors ligne |
coucou, il nous faudrait un peu plus de code pour pouvoir t'aider. Tu n'utilises pas cbSelectClef ailleurs ? Sem
| |
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
bonjour,
Hélas, je n'ai quasiment rien comme code : La déclaration :
Code: public : wxBitmapComboBox *cbSelectClef; et la construction :
Code: cbSelectClef= new wxBitmapComboBox (m_panel47, wxID_ANY, wxT(""), wxPoint (200, 17), wxSize (90,10), 3, listeClef, wxCB_READONLY); Donc si j'enlève cette dernière ligne ca marche sinon j'ai un plantage lors de la construction.
Merci pour votre aide.
Yann
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1146
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Je serais tenté de dire qu'il y a un problème dans tes libs, car ton code marche sans problème.
Le seul "hic" est un problème d'affichage, car tu donnes une hauteur de 10 pixels à ton contrôle wxBitmapComboBox. Il vaut mieux laisser la hauteur "par défaut" en mettant wxSize(90,-1), mais ça ne fait en rien planter l'application.
Tes libs wxWidgets viennent d'où ?
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut, Mes libs viennent de wxPack (wxPack_v2.8.3.01.exe). En fait j'ai téléchargé le pack et j'ai lancé l'install ... Voici la liste de mes librairies : libwxmsw28u_core.a libwxbase28u.a libwxpng.a libwxzlib.a libwxmsw28_adv.a
Est-ce que cela est correct ? ou alors dois-je en remplacer une ?
Merci
Yann
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1146
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Salut. Il y a effectivement un problème : tu utilises les versions Unicode des libs de base, mais tu as ajouté la version Ansi de la lib Adv : Il faut donc remplacer libwxmsw28_adv.a par libwxmsw28u_adv.a (simple ajout du 'u').
Avec ça, ça devrait marcher.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
yannp (Membre)
Inscrit le : 02-06-2010
Messages: 59
Snippets: 0
Tutoriels: 0
Hors ligne |
Ok merci ca marche !!!
A+ yann
| |
|
|