Jamesbch Apprentice
Joined: 30 Sep 2007 Posts: 185
|
Posted: Wed Apr 15, 2009 10:56 am Post subject: [cross-compiling] i686-mingw32 |
|
|
Bonjour à tous,
Suite à ma grande curiosité et dans le but d'apprendre, je me suis installé un cross-compiler pour la platforme Windows en 32 bits. J'ai utilisé la première partie de ce tutoriel ici. Tout a bien fonctionné mais suite à un emerge --depclean j'ai dû refaire l'opération une deuxième fois et il me semble que l'installation n'est plus aussi propre qu'avant, par exemple ceci :
Code: | # emerge -pv cross-i686-mingw32/gcc
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] cross-i686-mingw32/gcc-4.3.3-r2 USE="fortran nls (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -gtk -hardened -ip28 -ip32r10k -libffi -mudflap (-multilib) -multislot (-n32) (-n64) -nocxx -nopie -objc -objc++ -objc-gc -openmp -test -vanilla" 0 kB [?=>1]
Total: 1 package (1 reinstall), Size of downloads: 0 kB
Portage tree and overlays:
[0] /usr/portage
[1] /usr/local/portage-cross-compiling
[?] indicates that the source repository could not be determined |
0/ Avant, crossdev avait correctement installé gcc dans [1] mais après la 2ème installation (aussi avec crossdev) il ne semble pas se souvenir avoir pris l'ebuild dans [1] alors que c'est le cas normalement. Ceci n'est pas vraiment grave puisque la cross-compilation a fonctionné sur les quelques essais que j'ai fabriqué. J'utilise i686-mingw32-gcc pour compiler mes programme C++ et ils fonctionnent très bien sous Windows, néanmoins les fichiers générés sont assez lourds comparé au fichier bin linux.
1/ Cependant pour aller plus loin je souhaiterai savoir s'il faut emerge des paquets (comme des librairies) avec ce cross-compiler ? Par exemple si je souhaite utiliser une librairie comme dev-cpp/libxmlpp (je ne la connais pas mais c'est pour illustré bien sûr) dans mon programme cross-compilé, dois-je l'emerger ? Et pour d'autres librairies qui ne seraient pas dans l'arbre portage comme tinyXML que j'ai souvent utilisé ? un simple make en configurant le bon gcc ne suffirait pas à le faire s'installer dans le bon dossier je suppose.
2/ Dernière petite question, comment faire pour désinstaller proprement un cross-compiler ? Sachant que crossdev l'installe facilement il n'en est pas de même pour la désinstallation, je n'ai vu aucune option ne le permettant. Apparemment cette utilitaire modifie /etc/portage/categories , /etc/portage/package.use , /etc/portage/package.keywords . Faut-il enlever toutes les modifications dans ces fichiers, enlever l'overlay local et unemerger les paquets se trouvant dans [1] comme cross-i686-mingw32/gcc , cross-i686-mingw32/mingw-runtime , cross-i686-mingw32/w32api .
Si vous avez des conseils je suis ouvert à tout, et j'attends vos réponses avec impatience.
Merci d'avance. _________________ Desktop: Gigabyte EX38-DS4, Intel Q9450 2.6 GHz, 4 GiB DDR2, Nnvidia GTX 285.
Home-Server: Gigabyte 945GCM-S2L, Intel E2180 2.2 GHz, 2 GiB DDR2, Intel 82945G.
Laptop: Asus 1215N, Atom D525 1.4 Ghz, 2 GiB, Intel + Ion2 |
|