Archives pour juin 2008|Archives mensuelles
Code::Blocks & WxWidgets, le retour…
Classé dans : outils | Mots-clefs : codeblocks, install, mingw, msys, msysdtk, windows, wxwidgets
Laisser un commentaire On a vu que l’installation de Code::Blocks sur un PC sous windows avec la bonne configuration pour pouvoir utiliser WxWidgets n’est pas triviale.
Voici les points testés vendredi et qui ont des résultats mitigés :
- Installer Code::Blocks, version incluant MinGW, dans un répertoire sans espace, par exemple c:\tools
- On va avoir : Code::Blocks dans le répertoire C:\tools\CodeBlocks ; MinGW sera dans le répertoire C:\tools\CodeBlocks\MinGW
- Installer MSYS dans C:\tools également par exemple. En profiter pour installer MSYSDTK (au même endroit), ça peut servir aussi. Spécifier le bon répertoire de MinGW quand il sera demandé.
- La procédure décrite dans “docs\msw\install.txt” du répertoire WxWidgets ne marche pas :
cd $WXWIN
mkdir build-debug
cd build-debug
../configure –with-msw –enable-debug –enable-debug_gdb –disable-shared
make
make install - La porcédure décrite dans le wiki : Compiling wxWidgets 2.8.6 to develop Code::Blocks ne semble pas non plus fonctionner directement :
cd $WXWIN
cd build\msw
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=releaseIl est indiqué que ces options de compilation soient les seules supportées par C::B.
On retrouve des explications similaires ici (sur une autre page du même wiki). Il y est confirmé qu’il ne faut pas trop changer les options de compilation ci-dessus et que les paths avec espaces sont assez malvenus. Il est aussi spécifié que la procédure marche avec WxWidgets-2.8.7, or la version actuelle téléchargeable est la 2.8.8. Serait-ce là que le bas blesse ?
Les tentatives du jour sont les suivantes :
- Essai en utilisant “configure” :
cd $WXWIN
cd build/msw
../../configure –with-msw –disable-debug –enable-shared –enable-unicode –enable-monolithic
make
make installLa directive “–enable-release” n’existant pas pour “configure”, on suppose que si on spécifie”–disable-debug”, il va bien faire une version release. Si ça ne marche pas, on pourra toujours essayer avec la version 2.8.7.
- Bilan : on obtient bien une dll dans le répertoire “lib” : “wxmsw28u_gcc_custom.dll”. Par contre, on est obligé de déplacer le “include” manuellement dans “build/msw” (!), mais de toutes façons, C::B ne reconnait toujours pas la dll. Là je bloque et je ne pense pas que revenir à la version 2.8.7 change grand chose.
- J’essaie de bouger la dll dans le répertoire $WXWIN/lib. ça ne marche pas mieux. Ni dans ses sous-répertoires d’ailleurs (gcc_dll, … ).
- Acharnement. J’efface tout WxWidgets et je recommence. Ca tombe bien, ce n’est pas comme si ça mettait beaucoup de temps à compiler… grmpf.
- Essai avec “configure”, ça ne marche pas. Apparemment Code::Blocks cherche un répertoire “gcc_dll” dans le répertoire “lib”. Il chercherait également un fichier “libwxmsw28u.a” dans “gcc_dll”. Autant dire qu’on n’est pas tiré d’affaire.
- Réinstallation de WxWidgets et essai avec “mingw32-make”. Quelle déception, ça marche. Fin du jeu. Il met bien les fichiers et répertoires qu’il faut dans le “lib” de $WXWIN et ensuite, ça passe.
Conclusion : Quelle perte de temps !!
- Emporté par mon élan, j’en compile même la version “debug” pour être un petit peu plus exhaustif.
- Certains vous diront que la dll est tellement grosse que des fois il faudrait presque mieux pour les petits programmes d’utiliser la version statique. A ce stade, je ne sais pas s’il faut conseiller la version non monolithique.
Code::Blocks
Classé dans : outils | Mots-clefs : codeblocks, cygwin, gnu, loose, mingw, msys, msysdtk, windows, wxwidgets
Laisser un commentaire La mission du jour : installer Code::Blocks sur un PC sous windows (Win2k pour moi). Le but est d’utiliser WxWidgets.
Voici une procédure simple qui marche qui ne marche pas encore. Les versions concernées sont celles qui sont téléchargeables à la date d’aujourd’hui (27 juin 2008)
- Installer Code::Blocks, version incluant MinGW, dans un répertoire sans espace, par exemple c:\tools
- On va avoir : Code::Blocks dans le répertoire C:\tools\CodeBlocks ; MinGW sera dans le répertoire C:\tools\CodeBlocks\MinGW
- Installer MSYS dans C:\tools également par exemple. En profiter pour installer MSYSDTK (au même endroit), ça peut servir aussi. Spécifier le bon répertoire de MinGW quand il sera demandé.
- Lancer la procédure décrite dans “docs\msw\install.txt” du répertoire WxWidgets :
cd $WXWIN
mkdir build-debug
cd build-debug
../configure –with-msw –enable-debug –enable-debug_gdb –disable-shared
make
make install - Configurer correctement votre projet WxWidget Code::Blocks (pour les paths). Et ça marche. Pour moi ça ne marche pas. Il doit y avoir un pépin quelque part.
- 2e essai : on ouvre le wiki de C::B et on tombe sur la page Compiling wxWidgets 2.8.6 to develop Code::Blocks et là tout s’arrange.
cd $WXWIN
cd build\msw
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release clean
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=releaseIl semblerait que ces options de compilation soient les seules supportées par C::B
- Configurer correctement votre projet WxWidget Code::Blocks (pour les paths). Et ça marche. Bullshit. Non, ça ne marche toujours pas. Bon, il doit y avoir une ruse quelque part. Je ne vois pas la grosse dll d’ailleurs…
Petite remarque en passant, je connaissais Cygwin qui est assez efficace comme console type Linux sous Windows, mais finalement, MSYS est très bien aussi et un petit peu plus esthétique. Je ne suis pas sûr qu’elle ait autant de fonctionalités que Cygwin (entre autres concernant X) mais sinon, ça n’a vraiment pas l’air mal.
Introduction…
Classé dans : Uncategorized | Mots-clefs : en construction, intro, projets
Laisser un commentaire Je culpabilise déjà. Je suis au boulot et j’écris mon premier billet alors que je devrais être occupé à faire activement d’autres choses plus rentables pour mon employeur préféré. Oublions courtement ceci.
Le but de ce journal de bord est d’exposer des projets plus ou moins réalisables pour essayer un jour de les concrétiser. D’où ce titre un peu hasardeux : “en construction”…
Ces projets seront axés internet, programmation, électronique (quelle originalité), mais aussi robotique, et bien d’autres choses encore…
Vous trouverez un aperçu d’un projet discontinué ici. La base de données est HS, le forum et la galerie ne fonctionnent donc pas. Bref, déjà en construction, il aurait besoin d’un bon coup de sableuse.