Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
tutoriel:compilation_croisee [Le 31/08/2013, 00:07]
92.137.142.89 [Pouvoir compiler pour une autre architecture que la sienne ou comment faire de la compilation croisée]
tutoriel:compilation_croisee [Le 19/01/2021, 10:35] (Version actuelle)
amiralgaby structure des titres rectifié et ajout d'un lien vers un tutoriel
Ligne 8: Ligne 8:
 Pour cela, nous allons commencer par compiler... un compilateur ! Mais attention, il sera BRUT c'​est-à-dire sans aucune bibliothèque. On pourra alors compiler le kernel Linux ou une bibliothèque. Pour cela, nous allons commencer par compiler... un compilateur ! Mais attention, il sera BRUT c'​est-à-dire sans aucune bibliothèque. On pourra alors compiler le kernel Linux ou une bibliothèque.
  
-Exceptions : le compilateur pour Windows(r) existe en paquets, pas besoin de le re-compiler,​ [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **mingw32**. Pour linux 32 bits vers 64 et vice-versa, il existe aussi des paquets : lib64(32)gcc1 et libc6-dev-amd64(i386). Il suffit de les installer pour aboutir à l'​équivalent de ce que nous allons faire ici à la main. +Exceptions : le compilateur pour Windows(r) existe en paquets, pas besoin de le re-compiler,​ [[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] **[[apt>​mingw-w64]]**. Pour linux 32 bits vers 64 et vice-versa, il existe aussi des paquets : lib64(32)gcc1 et libc6-dev-amd64(i386). Il suffit de les installer pour aboutir à l'​équivalent de ce que nous allons faire ici à la main. 
  
 Pour la compilation croisée vers une architecture arm un petit script vous est présenté dans l'​article [[Xcompile_arm|Compilation croisée pour ARM]] Pour la compilation croisée vers une architecture arm un petit script vous est présenté dans l'​article [[Xcompile_arm|Compilation croisée pour ARM]]
Ligne 17: Ligne 17:
  
 Si vous vouler compiler pour Windows(r) ou pour un 32/64 bits croisé, ​ Si vous vouler compiler pour Windows(r) ou pour un 32/64 bits croisé, ​
-rendez-vous à la rubrique utilisation...+rendez-vous à sur la page [[tutoriel:​comment_utiliser_mingw32_pour_faire_des_executables_windows|Comment utiliser MingW[32|64] pour faire des exécutables Windows ?]]
  
 Avoir téléchargé les sources de **[[http://​ftp.gnu.org/​gnu/​binutils/​|binutils]]** et **[[http://​ftp.gnu.org/​gnu/​gcc/​|gcc]]**. Prendre la dernière version ne devrait pas faire de mal. Avoir téléchargé les sources de **[[http://​ftp.gnu.org/​gnu/​binutils/​|binutils]]** et **[[http://​ftp.gnu.org/​gnu/​gcc/​|gcc]]**. Prendre la dernière version ne devrait pas faire de mal.
Ligne 30: Ligne 30:
 Décompresser l'​archive téléchargée précédemment et aller dans le dossier créé. Décompresser l'​archive téléchargée précédemment et aller dans le dossier créé.
  
-== configuration ==+=== configuration ​===
  
 Configurer la compilation avec la commande : Configurer la compilation avec la commande :
Ligne 39: Ligne 39:
 On peut utiliser l'​option "​prefix"​ pour configurer le dossier de base de l'​installation mais étant donné que les exécutables créés seront tous précédés de l'​architecture voulue, on peut tranquillement les mettre avec les autres sinon il faudrait configurer le PATH pour savoir où les chercher. On peut utiliser l'​option "​prefix"​ pour configurer le dossier de base de l'​installation mais étant donné que les exécutables créés seront tous précédés de l'​architecture voulue, on peut tranquillement les mettre avec les autres sinon il faudrait configurer le PATH pour savoir où les chercher.
  
-== compilation ==+=== compilation ​===
  
 Il suffit de lancer la commande : Il suffit de lancer la commande :
   make all   make all
  
-== installation ==+=== installation ​===
  
 Avec les droits super-utilisateur si on veut installer dans les parties système (option "​prefix"​) : Avec les droits super-utilisateur si on veut installer dans les parties système (option "​prefix"​) :
Ligne 54: Ligne 54:
 Décompresser l'​archive téléchargée précédemment et aller dans le dossier créé. Décompresser l'​archive téléchargée précédemment et aller dans le dossier créé.
  
-== configuration ==+=== configuration ​===
  
 Configurer la compilation avec la commande : Configurer la compilation avec la commande :
Ligne 63: Ligne 63:
 Si on veut le C++, il faut le rajouter aux langages, après c : --enable-languages=c,​c++ Si on veut le C++, il faut le rajouter aux langages, après c : --enable-languages=c,​c++
  
-== compilation ==+=== compilation ​===
  
 Il suffit de lancer la commande : Il suffit de lancer la commande :
   make all-gcc   make all-gcc
  
-== installation ==+=== installation ​===
  
 Avec les droits super-utilisateur si on veut installer dans les parties système (option "​prefix"​) : Avec les droits super-utilisateur si on veut installer dans les parties système (option "​prefix"​) :
Ligne 85: Ligne 85:
 Pour les paquets installés Linux 32/64 croisé il faut rajouter l'​argument "​-m64(32)"​ à la ligne de gcc. De plus certaines bibliothèques existent en paquets, voir tous les paquets "​lib64(32)*"​. Pour les paquets installés Linux 32/64 croisé il faut rajouter l'​argument "​-m64(32)"​ à la ligne de gcc. De plus certaines bibliothèques existent en paquets, voir tous les paquets "​lib64(32)*"​.
  
-== Le kernel ==+==== Le kernel ​====
  
 Exemple de ligne de commande pour compiler le kernel Linux où c'est plus compliqué si on veut utiliser make-kpkg : Exemple de ligne de commande pour compiler le kernel Linux où c'est plus compliqué si on veut utiliser make-kpkg :
  • tutoriel/compilation_croisee.txt
  • Dernière modification: Le 19/01/2021, 10:35
  • par amiralgaby