Как перебрать компиляцию из Mac OS X в Linux x86?
Я запускаю Mac OS X 10.5.8 и хочу скомпилировать для целевого CentOS 5.3 с GCC 4.1.2. Как я мог:
- Компилировать инструментальную цепочку GCC 4.1.2 и связанные с ней инструменты
- Используйте этот инструмент для перекрестного компиляции для целевого CentOS 5.3?
Любая помощь очень ценится!
Ответы
Ответ 1
Самое простое решение - просто запустить CentOS 5.3 в виртуальной машине (например, Sun VirtualBox). Это требует минимальной настройки, имеет довольно разумные накладные расходы (при условии, что Intel Mac), и вы сможете фактически протестировать и отладить то, что вы строите.
Если вы действительно настаиваете на кросс-компиляции, вы должны построить кросс-компилятор. Инструкции здесь и здесь, но будьте осторожны: это, скорее всего, возьмите несколько дней, чтобы понять это правильно, и тогда вам все равно понадобится виртуальная машина для проверки результата, поэтому я не вижу смысла в этом.
Ответ 2
Используйте Cocotron для кросс-компиляции непосредственно из Xcode. Здесь есть хорошее руководство по началу работы: http://blog.tlensing.org/tag/cocotron/
Ответ 3
Я изо всех сил пытался получить crosstool-ng для создания OSX 10.9 для x86_64 Linux. Я использовал очень полезный пост на как построить кросс-компилятор gcc от Jeff Preshing и его script здесь в качестве основы для script, который сработал у меня. Его script в ссылке не работает при компиляции glibc в моей версии OSX (которая, кажется, очень распространенная жалоба на кросс-компиляцию из OSX в Linux).
Мой script находится здесь: https://github.com/johnlondon/Cross-compile-toolchain-for-linux-on-OSX
Ответ 4
Вы можете использовать crosstool-ng, или если вы не хотите тратить слишком много времени на его настройку, вы можете загрузить предварительно сконфигурированный кросс-компилятор, как Linaro.
Здесь руководство для установки в Mac OS X.