GNU/Linux >> Tutoriels Linux >  >> Linux

Compilateur croisé pour Linux sur Mac OS X ?

Vous devez :

  1. installer les outils de construction de base xcode
  2. installer les outils de ligne de commande xcode facultatifs
  3. installer homebrew
  4. installer les outils de compilation homebrew
    4.1 brew install crosstool-ng mpfr gmp grep
    4.2 brew tap homebrew/dupes
  5. créer un volume sensible à la casse à l'aide de "l'utilitaire de disque"
  6. utiliser ce volume pour construire la chaîne d'outils elle-même
    6.1 générer une configuration de base (pour moi c'est un arm cortex a8)
    6.1.1 ct-ng arm-cortex_a8-linux-gnueabi
    6.2 utiliser menuconfig (ct-ng menuconfig ) pour peaufiner la configuration
    6.2.1. désactiver fortran et java (compilateur c )
    6.2.2. désactiver la liaison statique (compilateur c )
    6.2.3. changez les chemins pour qu'ils soient sur le volume que vous avez créé ci-dessus (paths and misc options )
    6.2.4. supprimer dmalloc (installations de débogage )
    6.3 invoquez le build :
    6.3.1 ulimit -n 1024
    6.3.2 construction ct-ng

avec un grand merci à la liste crosstools-ng.


Afin de construire des binaires pour des architectures différentes de votre hôte de build, vous avez besoin de bien plus qu'un simple compilateur croisé - vous avez besoin d'une chaîne d'outils complète, ce qui peut être très pénible à créer, comme vous l'avez probablement découvert.

Quelques approches :

  • Utilisez une distribution Linux appropriée dans une machine virtuelle, telle que VirtualBox. Si vous souhaitez uniquement créer des binaires pour Linux/i386 sur un hôte MacOSX/x86_64, c'est - à mon avis - la solution la plus simple, la plus sûre et la plus propre. Ce n'est pas un compilateur croisé, bien sûr, mais cela fonctionne et il a l'avantage supplémentaire que vous pouvez réellement tester vos exécutables.

  • Utilisez un script tel que crosstool-NG (un descendant de l'original crosstool ) pour créer automatiquement la chaîne d'outils - certainement plus facile que de la créer vous-même, bien que vous deviez peut-être faire des compromis pour des versions de compilateur légèrement plus anciennes.


Linux
  1. Comment créer des paquets rpm

  2. Linux – Exécuter des applications Mac Os X sous Linux ?

  3. Golang Mac OSX construit pour la machine Docker

  4. Commande équivalente Linux pour la commande open sur Mac/Windows ?

  5. Quel est l'équivalent de la commande updatedb de Linux pour Mac ?

Une introduction à bpftrace pour Linux

Choisir une imprimante pour Linux

Le noyau Linux contre. Mac noyau

Zorin OS pour les débutants Linux

Les 15 meilleurs logiciels de forum pour Linux pour créer une communauté en ligne

Moniteur de bande passante pour Mac OS X ?