1
Projets SFML / Re : lxgui - "Lua and Xml Graphical User Interface"
« le: Janvier 24, 2013, 11:07:08 pm »
Le 64 bit ne devrait pas poser de problème, puisque j'utilise toutes ces bibliothèques en 64 bit sous linux. Je ne sais pas où en est le support via MinGW par contre, vu que mon Windows n'est que 32 bit.
Ceci dit, souvent il est bien plus simple de re-compiler chaque bibliothèque plutôt que de chercher des binaires pas à jour, qui parfois ne sont pas compatibles avec l'ABI de ton compilateur (en effet, certaines versions de GCC ne sont pas compatibles entre elles, en particulier si on mélange 32 bits et 64 bits).
Pour chaque bibliothèque, tu vas donc chercher le site officiel et télécharger les dernières sources disponibles, en suivant les instructions d'installation fournies (README, ou sur le site).
Par exemple pour compiler zlib, tu copies le fichier Makefile.gcc (situé dans le dossier win32) dans le répertoire racine de zlib, et tu le renommes en Makefile tout court. Ensuite tu ouvres un invité de commande, tu navigues jusqu'à ce répertoire (ou alors tu installes le power toy "command line here" qui permet d'ouvrir une console par click droit sur le répertoire), tu tapes juste "mingw32-make libz.a" et c'est fini (après si tu ne veux pas modifier mes projets C::B, il faut aussi déplacer le fichier libz.a dans lib/libz.a).
Pareil pour libpng : tu déplaces /scripts/makefile.gcc vers /Makefile, tu modifies les premières lignes du Makefile pour mettre le bon répertoire pour les sources de zlib, et tu lances simplement "mingw32-make".
Pour Freetype c'est plus coton. À l'époque j'avais simplement importé le projet Visual 2008 avec Code::Blocks et compilé comme ça. Mais il y a une méthode un peu plus propre, qui consiste a utiliser MSYS. Tu l'installes avec MinGW (le plus simple étant avec "mingw-get install msys"), tu ajoutes "{répertoire de mingw}\msys\1.0\bin" au PATH, puis tu vas dans le répertoire de freetype. Tu tapes alors "bash", puis "./configure", puis "make". La bibliothèque est alors créée dans /objs/.libs/libfreetype.a.
Mais je suis d'accord avec toi : c'est un processus pénible, et toutes les bibliothèques ne sont pas égales sur le plan de la documentation pour l'installation (en particulier avec MinGW, puisque tout le monde pense que GCC = linux et Windows = Visual Studio ...), et c'est pour ça que j'ai essayé d'utiliser le moins de bibliothèque possible. Mais il faut quand même apprendre à le faire, à un moment ou un autre. Une fois qu'on s'est un peu cassé les dents (j'en ai vraiment bavé avant de bien tout comprendre), on peut installer tout ce qu'on veut.
L'idéal étant tout de même de programmer sous linux
Ceci dit, souvent il est bien plus simple de re-compiler chaque bibliothèque plutôt que de chercher des binaires pas à jour, qui parfois ne sont pas compatibles avec l'ABI de ton compilateur (en effet, certaines versions de GCC ne sont pas compatibles entre elles, en particulier si on mélange 32 bits et 64 bits).
Pour chaque bibliothèque, tu vas donc chercher le site officiel et télécharger les dernières sources disponibles, en suivant les instructions d'installation fournies (README, ou sur le site).
Par exemple pour compiler zlib, tu copies le fichier Makefile.gcc (situé dans le dossier win32) dans le répertoire racine de zlib, et tu le renommes en Makefile tout court. Ensuite tu ouvres un invité de commande, tu navigues jusqu'à ce répertoire (ou alors tu installes le power toy "command line here" qui permet d'ouvrir une console par click droit sur le répertoire), tu tapes juste "mingw32-make libz.a" et c'est fini (après si tu ne veux pas modifier mes projets C::B, il faut aussi déplacer le fichier libz.a dans lib/libz.a).
Pareil pour libpng : tu déplaces /scripts/makefile.gcc vers /Makefile, tu modifies les premières lignes du Makefile pour mettre le bon répertoire pour les sources de zlib, et tu lances simplement "mingw32-make".
Pour Freetype c'est plus coton. À l'époque j'avais simplement importé le projet Visual 2008 avec Code::Blocks et compilé comme ça. Mais il y a une méthode un peu plus propre, qui consiste a utiliser MSYS. Tu l'installes avec MinGW (le plus simple étant avec "mingw-get install msys"), tu ajoutes "{répertoire de mingw}\msys\1.0\bin" au PATH, puis tu vas dans le répertoire de freetype. Tu tapes alors "bash", puis "./configure", puis "make". La bibliothèque est alors créée dans /objs/.libs/libfreetype.a.
Mais je suis d'accord avec toi : c'est un processus pénible, et toutes les bibliothèques ne sont pas égales sur le plan de la documentation pour l'installation (en particulier avec MinGW, puisque tout le monde pense que GCC = linux et Windows = Visual Studio ...), et c'est pour ça que j'ai essayé d'utiliser le moins de bibliothèque possible. Mais il faut quand même apprendre à le faire, à un moment ou un autre. Une fois qu'on s'est un peu cassé les dents (j'en ai vraiment bavé avant de bien tout comprendre), on peut installer tout ce qu'on veut.
L'idéal étant tout de même de programmer sous linux