Кросс-компилятор для Linux на Mac OS X? - PullRequest
5 голосов
/ 09 марта 2011

Я читал много документов в интернете о создании кросс-компилятора для Linux на Mac OS X, но не могу найти ни одного, чтобы заставить его работать.

Похоже, что никто не может помочьменя с вопросом: Как заставить GMP работать с GCC 4.5.2

Есть ли какой-нибудь более простой способ создания кросс-компилятора?

Ответы [ 2 ]

6 голосов
/ 03 января 2013

Вам необходимо:

  1. установить базовые инструменты сборки xcode
  2. установить дополнительные инструменты командной строки xcode
  3. установить доморощенный
  4. установка инструментов для доморощенной сборки
    4.1 brew install crosstool-ng mpfr gmp grep
    4,2 варочный кран homebrew / dupes
  5. создать том с учетом регистра с помощью «дисковой утилиты»
  6. используйте этот том для построения самой цепочки инструментов
    6.1 сгенерировать базовую конфигурацию (для меня это arm cortex a8)
    6.1.1 ct-ng arm-cortex_a8-linux-gnueabi
    6.2 используйте menuconfig ( ct-ng menuconfig ) для настройки
    6.2.1. отключить фортран и java ( c компилятор )
    6.2.2. отключить статическое связывание ( c компилятор )
    6.2.3. измените пути на том, который вы создали выше ( paths и misc options )
    6.2.4. удалить dmalloc ( средства отладки )
    6.3 вызвать сборку:
    6.3.1 ulimit -n 1024
    6.3.2 ct-ng build

большое спасибо списку crosstools-ng .

3 голосов
/ 09 марта 2011

Чтобы собрать двоичные файлы для архитектур, отличающихся от вашего хоста сборки, вам нужно гораздо больше, чем просто кросс-компилятор - вам нужен полноценный набор инструментов, который, как вы, вероятно, обнаружили, может создать настоящую боль в создании.

Пара подходов:

  • Используйте правильный дистрибутив Linux на виртуальной машине, такой как VirtualBox.Если вы хотите создавать двоичные файлы для Linux / i386 только на хосте MacOSX / x86_64, это, на мой взгляд, самое простое, безопасное и чистое решение.Конечно, это не кросс-компилятор, но он работает, и у него есть дополнительное преимущество, заключающееся в том, что вы действительно можете тестировать свои исполняемые файлы.

  • Используйте такой скрипт, как crosstool-NG (потомок оригинального crosstool) для автоматического создания цепочки инструментов - определенно проще, чем собирать ее самостоятельно, хотя вам может потребоваться компромисс для немного более старых версий компилятора.

...