Membres inscrits :668
Membres en ligne : 0
Invités en ligne : 7


|
| Conversation : Compilation wxwidget 2.8.10 et out of memory |
Zangdaarr (Nouveau membre)
Inscrit le : 31-03-2011
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour,
J'essaie d'installer wxwidget pour codeblocks et jusqu'à présent je n'ai pas réussi la compilation. Nous avons une erreur 1 out of memory au moment de lib.exe
J'ai essayé sur 3 ordinateurs différents, dont un avec 6Go de RAM, et ma collègue sur le sien. On ne sait plus vraiment quoi faire. Y'a t'il une solution ?
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Salut, et bienvenue sur wxDev.fr
D'après les symptômes, je suppose que tu utilises la version officielle de MinGW (avec gcc 3.5.1 ou 3.5.2). Si c'est bien le cas, il s'agit d'un bug du compilateur.
Pour y remédier, tu peux passer à la version TDM : http://tdm-gcc.tdragon.net
Juste une question au passage : comment se fait-il que tu essayes de compiler la version 2.8.10 alors que la version 2.8.12 vient de sortir ?
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
Zangdaarr (Nouveau membre)
Inscrit le : 31-03-2011
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut, et merci
J'utilise la version 4.5.2 de gcc, ma collègue utilise la 4.5.0
Pour la version, soit je me suis trompé, soit j'ai commencé à tenter avant le 28 mars, je ne sais plus. Toujours est-il qu'on trouve 10.000 fichiers et packs différents sur le web :x
Mon soucis n'est tjrs pas réglé, j'ai commencé à développer sous devCpp, j'utilise un wxPack pour coder sous codeblocks, ça ne compile pas (il ne reconnait plus les accents et les constructeurs de wxFrame jettent mes chaines de caractère au motif que ce sont des const char[] et non des wxString). J'envoie à ma collègue qui utilise le même wxPack et cela compile .... Je fais une copie de devCpp vers mon laptop: ça ne compile plus, même erreurs 
J'avoue être totalement largué
Question subsidiaire: je bosse sur plusieurs ordis dont un en 64bits, j'ai toujours compilé avec mingw32, sur tous les postes, sans poser de soucis, y'a t'il un risque pour utiliser wxWidget ?
Dernière modification par Zangdaarr (01-04-2011 15:39:19)
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Salut.
Zangdaarr a écrit:Mon soucis n'est tjrs pas réglé, j'ai commencé à développer sous devCpp, j'utilise un wxPack pour coder sous codeblocks, ça ne compile pas (il ne reconnait plus les accents et les constructeurs de wxFrame jettent mes chaines de caractère au motif que ce sont des const char[] et non des wxString). En ce qui concerne wxPack, il faut juste s'assurer qu'il a été compilé avec le même compilateur que le tien (il y a des conflits entre la version officielle et la version TDM de gcc). Pour le problème d'accents, cela vient sans doute du fait que tu as donné tes chaines de caractères avec de simples guillemets alors que tu compiles en mode "Unicode". Le plus simple pour éviter ce genre de problème est de donner toutes tes chaines de caractères avec la macro _T("bla bla bla"). C'est juste une habitude à prendre, et ça permet d'éviter d'avoir à re-éditer lorsque tu veux passer en Ansi. Il y a encore une chose à vérifier pour les accents : si tu compiles en Unicode, il faut que le fichier source soit également encodé en Unicode (UTF-8 sans BOM pour Code::Blocks). Mais dans ce cas, ça posera problème le jour où tu voudras compiler en Ansi.
Zangdaarr a écrit:Question subsidiaire: je bosse sur plusieurs ordis dont un en 64bits, j'ai toujours compilé avec mingw32, sur tous les postes, sans poser de soucis, y'a t'il un risque pour utiliser wxWidget ? Il n'y a absolument aucun risque. De toute façon, la version 2.8.x de wxWidgets n'est pas compilable en 64 bits sous Windows (il faudra attendre la version 3).
Bonne chance, et n'hésites pas si tu as besoin de plus d'infos.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
Zangdaarr (Nouveau membre)
Inscrit le : 31-03-2011
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
salut !
Alors avec TDM j'ai pu compiler wxWidget. Du moins je pense, il n'y a pas eu d'erreur à la fin, ni même un "succes"
Pour les accents, je me dit que le plus probable est que la collégue n'ai pas coché unicode quand elle a crée son projet codeblocks, et que le wxPack fournit les deux build de wxwidget.
Cela n'explique pas cette erreur que j'avais avec Code et pas sous decCpp:
conversion from `const char[10]' to `const wxString' is ambiguous| note: candidates are: wxString::wxString(wxChar, size_t) <near match>| note: wxString::wxString(int) <near match>| ||=== Build finished: 1 errors, 0 warnings ==
Par contre là, je n'arrive pas à faire fonctionner un projet codeblocks avec wxwidget... j'y arrivais avec le wxPack, il ne me trouve pas les librairies ! ---------- J'ai pu corriger le probléme de librairie en ajoutant
C:\CodeBlocks\wxWidgets\lib\gcc_dll\mswu
aux build options
J'ai un autre probléme de librairie:
ld.exe||cannot find -lwxmsw28ud|
Celui là je ne sais pas quel chemin ajouter.
Sur le wiki codeblocks, ils disent d'entrer le chemin d'installation de wxWidgets, j'ai pris le répertoire ou j'ai dezippé les sources de wxWidgets.
C'est à dire que j'avais mis les sources dans C:\CodeBlocks\wxWidgets, je suis allé dans le dossier CodeBlocks\wxWidgets\buid\msw pour compiler, et quand le wizzard me demande ou se trouve wxWidgets je met CodeBlocks\wxWidgets
ce n'est pe pas ça ?
Dernière modification par Zangdaarr (01-04-2011 17:14:52)
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Salut.
En fait, il cherche apparemment une lib "debug" (que tu n'as sans doute pas compilée).
Ce n'est pas grave : tu peux faire sans.
Pour cela, il faut aller dans les options de construction de ton projet (Menu Project, Build options) Tu retrouveras, sur la gauche, les deux configurations que Code::Blocks a dû créer : Release et Debug Sélectionnes la config "Debug", et dans la partie de droite, sélectionnes l'onglet "linker" Tu trouveras la liste des libs que Code::Blocks essayes de linker, et il faut enlever le "d" à toutes celles qui en ont un. Par exemple, tu dois avoir une lib "libwxmsw28ud.a" qu'il faut remplacer par "libwxmsw28u.a" Vérifies également que le symbole "wxDEBUG" (ou quelque chose y ressemblant) ne soit pas défini dans les options du compilateur pour la même configuration.
La prochaine fois que tu crées un projet en passant par l'assistant Code::Blocks, après l'étape de réglage des configurations, sélectionne l'option "Configure Advanced options". En cliquant sur "Next", tu auras un warning te disant : Assistant Code::Blocks" a écrit:A matching Debug configuration cannot be found in the wxWidgets directory you specified. This means that Debug target of your project will not build.
Are you sure you want to continue with these settings? Répond oui (tu auras peut-être le même message pour la configuration release). A lapage suivante, assures-toi que l'option "Use __WXDEBUG__ and Debug wxWidgets lib" ne soit pas cochée.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
Zangdaarr (Nouveau membre)
Inscrit le : 31-03-2011
Messages: 4
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut, J'ai toujours eu ce message, donc je ne sais pas trop ce qu'il se passe. Je lui ai indiqué de prendre libwxmsw28u (dans le menu build option), mais cela crash à la compilation, au moment du linkage. J'ai un tas de uwind qq chose ... (remarque je ne sais plus car j'ai eu un tas de messages d'erreur donc je ne sais pas si celui ci s'applique à ce cas là).
Avec le wxPack (qui contient toutes les versions), j'ai pu compiler sous réserve de choisir DLL ( oui ) monolithic (oui ou non) et unicode (non). Mais j'ai un gros warning à l'exécution et dés que je redimensionne ma fenêtre (NULL dans wxSizer ...).
Aussi là je recompile avec les options shard = 0 monolithic = 0 unicode = 0 pour être en phase avec ma collégue qui a compilé et fait tourner mon programme sans problèmes avec ces options là pour le projet et le wxPack (on utilise le même pack). Aussi je ne peux plus faire le teste que tu proposes
Merci pour ton aide. C'est vraiment complexe tout cela quand je pense à la façon dont j'ai pu installer QT (en 10 min c'était réglé). ---------- En passant par les options avancées, cela a fonctionné !!!
En fait je reconfigurait mal les build option... car je n'avais pas vu sur la gauche debug et release.
Je rajoutais C:\CodeBlocks\wxWidgets\lib\gcc_lib\msw au niveau du projet
et lui cherchait C:\CodeBlocks\wxWidgets\lib\gcc_lib\mswd au niveau de debug
Du coup cela fonctionne, avec accents, et sans warning
Merci ! ---------- L'erreur
conversion from `const char[10]' to `const wxString' is ambiguous| note: candidates are: wxString::wxString(wxChar, size_t) <near match>| note: wxString::wxString(int) <near match>|
est revenue (((
Je ne sais plus quoi faire à part frapper mon ordinateur là
Dernière modification par Zangdaarr (01-04-2011 23:37:35)
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Zangdaarr a écrit:Je ne sais plus quoi faire à part frapper mon ordinateur là Tu peux mettre le bout de code incriminé : ça fera moins de dégâts
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
|