GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Cross-Compiler für Linux auf Mac OS X?

Sie müssen:

  1. Installieren Sie die xcode-Basis-Build-Tools
  2. Installieren Sie die optionalen xcode-Befehlszeilentools
  3. Homebrew installieren
  4. Installieren Sie die Homebrew-Build-Tools
    4.1 brew install crosstool-ng mpfr gmp grep
    4.2 Brew Tap Homebrew/Dupes
  5. Erstellen Sie mit dem "Festplattendienstprogramm" ein Volume, bei dem zwischen Groß- und Kleinschreibung unterschieden wird
  6. verwenden Sie dieses Volumen, um die Werkzeugkette selbst zu erstellen
    6.1 erzeuge eine Basiskonfiguration (für mich ist das ein Armcortex a8)
    6.1.1 ct-ng arm-cortex_a8-linux-gnueabi
    6.2 menuconfig verwenden (ct-ng menuconfig ), um die Konfiguration zu optimieren
    6.2.1. Fortran und Java deaktivieren (c-Compiler )
    6.2.2. Deaktivieren Sie die statische Verknüpfung (c-Compiler )
    6.2.3. Ändern Sie die Pfade so, dass sie sich auf dem oben erstellten Volume befinden (Pfade und sonstige Optionen )
    6.2.4. entfernen Sie dmalloc (Debug-Möglichkeiten )
    6.3 Rufen Sie den Build auf:
    6.3.1 ulimit -n 1024
    6.3.2 ct-ng-Build

vielen Dank an die crosstools-ng-Liste.


Um Binärdateien für andere Architekturen als Ihren Build-Host zu erstellen, benötigen Sie weit mehr als nur einen Cross-Compiler – Sie benötigen eine vollständige Toolchain, deren Erstellung sehr mühsam sein kann, wie Sie wahrscheinlich festgestellt haben.

Ein paar Ansätze:

  • Verwenden Sie eine geeignete Linux-Distribution in einer virtuellen Maschine, z. B. VirtualBox. Wenn Sie nur Binärdateien für Linux/i386 auf einem MacOSX/x86_64-Host erstellen möchten, ist dies meiner Meinung nach die einfachste, sicherste und sauberste Lösung. Es ist natürlich kein Cross-Compiler, aber es funktioniert und hat den zusätzlichen Vorteil, dass Sie Ihre ausführbaren Dateien tatsächlich testen können.

  • Verwenden Sie ein Skript wie crosstool-NG (ein Nachkomme des ursprünglichen crosstool ), um die Toolchain automatisch zu erstellen - definitiv einfacher, als sie selbst zu erstellen, obwohl Sie möglicherweise Kompromisse für etwas ältere Compiler-Versionen eingehen müssen.


Linux
  1. Linux – Mac OS X-Anwendungen unter Linux ausführen?

  2. Golang Mac OSX-Build für Docker-Maschine

  3. Linux-äquivalenter Befehl für Open-Befehl auf Mac/Windows?

  4. Was ist eine XPerf-Alternative für Linux und Mac OS X?

  5. dd-Leistung unter Mac OS X im Vergleich zu Linux

Eine Einführung in bpftrace für Linux

Auswählen eines Druckers für Linux

Linux-Kernel vs. Mac-Kernel

Zorin OS für Linux-Neulinge

Die 15 besten Forum-Software für Linux zum Aufbau einer Online-Community

Bandbreitenmonitor für Mac OS X?