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


|
| Conversation : Libs wxWidgets-2.9.1 compilées |
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Edit le 06/07/2011 : Suite à la publication de wxWidgets-2.9.2, les liens ci-dessous sont devenus obsolètes (et ne sont d'ailleurs plus valides). Vous trouverez les nouveaux liens dans ce topic.
Bonjour à tous.
Je me suis enfin décidé à vous fournir une version compilée des libs wxWidgets-2.9.1 Par contre, je n'ai pas créé d'installateur comme pour la version 2.8.11 : il faudra décompresser tout ça "à la main" (il s'agit d'archives 7zip).
Il vous faut obligatoirement télécharger le paquet contenant le code source, les headers, l'aide et les exemples à l'aide du lien suivant : wx291-Sources-Headers-Aide-Exemples.7z
Ensuite, suivant vos besoins, vous avez plusieurs possibilités. Les libs à proprement parler sont disponibles en différentes versions : - Compilées avec Gcc-3.4.5, Gcc-4.5.1-TDM, ou Visual C++ 2008 - Dynamiques ou statiques - Monolithiques ou Multi-libs Pour l'instant, je ne me suis occupé que les libs "Release" en version "Unicode"
Pour les installer, c'est tout simple : - Créez le répertoire dans lequel vous voulez les installer (évitez tant que faire se peut les chemins contenant des espaces) - Placez les archives téléchargées dans ce répertoire, sélectionnez-les, faites un clic-droit, et choisissez l'option "Extraire ici". - Vous aurez peut-être à confirmer l'écrasement de certains fichiers ou répertoires : c'est normal. - N'oubliez-pas, si vous avez choisi un paquet contenant des libs dynamiques, d'ajouter le sous-répertoire "bin" du dossier d'installation à votre variable "PATH" afin que le système sache où trouver les dll quand il en aura besoin.
Voici maintenant les liens pour obtenir les archives contenant les différentes versions des libs (vous devez en télécharger au moins une) :
- Libs compilées avec Gcc-3.4.5 - Dynamiques Monolithiques - Dynamiques Multi-libs - Statiques Monolithiques - Statiques Multi-libs
- Libs compilées avec Gcc-4.5.1-TDM - Dynamiques Monolithiques - Dynamiques Multi-libs - Statiques Monolithiques - Statiques Multi-libs
- Libs compilées avec Visual C++ 2008 - Dynamiques Monolithiques - Dynamiques Multi-libs - Statiques Monolithiques - Statiques Multi-libs
Merci de me signaler tout problème de liens et/ou d'utilisation des libs.
Bonne prog à tous.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
hx (Membre)
Inscrit le : 21-09-2010
Messages: 35
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut Xav, Merci à toi, effectivement ca facilitera bien la vie Hx
| |
|
vodoomoth (Nouveau membre)
Inscrit le : 25-02-2011
Messages: 9
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour, effectivement, un grand merci d'avoir pris la peine de compiler ces librairies.
C'est justement parce que j'ai des problèmes à faire la compilation de la version courante de Code:Blocks dans sa version release que je fouillais le forum de wx avant de cliquer sur le lien dans ta signature.
Puis-je savoir quel est ton environnement pour compiler avec gcc4 ? Pour ma part, j'ai les sources téléchargées aujourd'hui de wx et Code Blocks mais je n'arrive à compiler ni l'un ni l'autre en utilisant MingW+MSYS.
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Salut.
En fait, je n'utilise pas MSYS. Je compile généralement les libs wxWidgets en ligne de commande. Comme pour fournir toutes les différentes versions des libs il faut relancer plusieurs fois la compilation, je me suis fait un petit script batch qui s'occupe de tout, et après, il ne me reste plus qu'à créer les différentes archives en fonction des paramètres de compilation.
Pour ce qui est de Code::Blocks, je le compile en utilisant les libs wxWidgets 2.8.11. Il faut utiliser la version Unicode Dynamique Monolithiue pour que ça marche. Il faut également avoir les libs "boost" installées (elles sont utilisées par au moins un des plugins). Et pour le compiler, il faut déjà qu'une version précédente soit installée : il y a deux fichiers projets à compiler dans le sous-dossier "src". pour ma part, je n'ouvre pas ces fichiers projets directement, mais je fait un clic-droit dessus, afin de lancer la compilation. Il y en a un pour Code::Blocks lui-même (nommé CodeBlocks.cbp) et il y a un fichier "espace de travail" (nommé ContribPlugins.workspace) qui permet de lancer la compilation des plugins. Tiens, d'ailleurs, je n'avais jamais remarqué qu'il y avait un fichier projet spécifique pour compiler Code::Blocks avec wxWidgets 2.9. Il faut, pour que la compilation puisse se faire sans problème, que les variables globales "wx" et "boost" aient été définies dans Code::Blocks.
Lorsque tout est compilé, il faut exécuter le script "src\update.bat" pour copier tous les fichiers nécessaires dans le dossier "output".
Si tu as besoin de plus d'infos, n'hésites pas. @+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
vodoomoth (Nouveau membre)
Inscrit le : 25-02-2011
Messages: 9
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut, toujours KO. J'ai récupéré boost ainsi que wxWidgets 2.8.11, et mis mes variables wx (sur 2.8.1), wx29 et boost dans CB, ouvert le .cbp dans CB (au lieu de faire un clic droit > Build, ce qui ouvre une boîte de dialogue fugitive qui se ferme à la première erreur). J'ai ensuite choisi comme target de build "core app & plugins".
Au premier build, l'erreur était (dans wx/platform.h) que wx/setup.h n'existait pas, ce qui était vrai. Le fichier BuildCVS.txt n'a pas été utile (je le suspecte d'être obsolète) puisque le fichier setup.h censé être obtenu après copie de setup0.h existe déjà mais est à wx/msw/setup.h au lieu du wx/setup.h qui cause problème.
J'ai donc copié ce wx/msw/setup.h dans wx/setup.h, et changé trois define (WXWIN_COMPATIBILITY_2_6 1 et wxUSE_ON_FATAL_EXCEPTION sur 0, et wxUSE_UNICODE sur 1). La compilation s'est poursuivie au-delà du point où l'erreur survenait... pour déboucher sur une autre erreur. Voici les dernières obtenues dans le build log:
Code: Compiling: sdk\uservarmanager.cpp Compiling: sdk\virtualbuildtargetsdlg.cpp Compiling: sdk\workspaceloader.cpp Compiling: sdk\xtra_res.cpp Linking dynamic library: devel\codeblocks.dll c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lwxpropgrid c:/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw28u collect2: ld returned 1 exit status Process terminated with status 1 (3 minutes, 33 seconds) 2 errors, 0 warnings
Visiblement, il y a des symboles manquants. Suite à une recherche full-text, j'ai retrouvé "wxpropgrid" dans pas mal de fichiers sous le dossier des sources de codeblocks. En farfouillant dans les préférences CB, j'ai vu un onglet "Linker settings" dans "Global compiler settings"; faut-il indiquer quelque chose dans "link libraries" ?
| |
|
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1191
Snippets: 23
Tutoriels: 6
Site web
Hors ligne |
Salut.
Avec quels paramètres as-tu compilé les libs wxWidgets ? Pour Code::Blocks, il faut impérativement la version "Release/Shared/Unicode/Monolithic" .
Pour wxPropertyGrid, il faut en télécharger les sources "à part" et les compiler avant de passer à la compilation de Code::Blocks.
@+ Xav'
|
Le nouveau portail wxWidgets francophone : www.wxdev.fr Ben en fait, vous y êtes déjà...
|
vodoomoth (Nouveau membre)
Inscrit le : 25-02-2011
Messages: 9
Snippets: 0
Tutoriels: 0
Hors ligne |
Salut, en fait, les problèmes que j'avais n'étaient pas liés à une mauvaise configuration de ma part. J'ai exposé les problèmes et leurs solutions sur le forum de Code::Blocks à cette adresse http://forums.codeblocks.org/index.php/ … 291.0.html
J'ai tout supprimé puis téléchargé de nouveau les sources, TDM-GCC au lieu de MingW, et recompilé sans rien trifouiller.
La compilation avec wx 2.8.11 passe sans problème. Pour la 2.9.1, non seulement la compilation est bien plus longue, mais l'édition des liens échoue à cause de symboles Scintilla manquants. Je n'ai pas poussé l'investigation plus loin: une fois le trunk buildé, et que j'ai commencé par utiliser l'IDE, deux fonctionnalités de navigation m'ont manqué: 1- l'historique façon navigateur que j'utilise sous Eclipse avec Alt+flèche gauche ou droite. 2- la navigation en maintenant ctrl enfoncé et en cliquant avec la souris. Oui, c'est bête mais question d'habitude.
Bref, je suis revenu à Eclipse en conservant quand même C::B installé car j'aurai probablement besoin de wxSmith dans quelques semaines/mois à moins de trouver un équivalent sous Eclipse. Sans compter qu'une fois la version courante de C::B compilée, les plugins de la dernière release ne fonctionnent plus... Pourquoi ils laissent passer tant de temps pour une release, ça m'échappe décidément. Les développeurs ne s'en rendent peut-être pas compte, mais ça ne fait pas certainement pas de bien à leur projet.
| |
|
|