как изменить тип хоста для компиляции GCC 'Canadian cross' с помощью crosstool-NG - PullRequest
2 голосов
/ 26 марта 2012

Я установил crosstool-NG и собрал GCC на машине host + build x86, предназначенной для arm-unknown-linux-gnueabi. Затем я использовал arm-unknown-linux-gnueabi-gcc для компиляции программы, которая хорошо работала на моей плате ARM.

Я хочу сейчас создать GCC, ориентируясь на ARM для размещения на ARM. Я верю, что языком является

build=i486-pc-linux-gnu
target=arm-unknown-linux-gnueabi-gcc
host=arm-unknown-linux-gnueabi-gcc

Как мне это сделать? запустить ./configure для передачи crosstool-NG --host = arm-unknown-linux-gnueabi-gcc?

или я могу изменить переменные окружения для CC / etc?

1 Ответ

1 голос
/ 21 января 2013

Вы делаете это с файлом .config .Я думаю, что образцы с запятой в названии хороши для просмотра.Основное отличие состоит в том, что вы должны запустить ct-ng несколько раз, чтобы создать несколько кросс-компиляторов.

ct-ng претерпел некоторые изменения в Canadianпересекает в последнее время.Тем не менее, вам, вероятно, потребуется повторно использовать свой оригинальный кросс-компилятор, который работает на ПК.Причина в том, что компилятор будет включать библиотеки, скомпилированные для ARM , и вам нужно сгенерировать эти библиотеки на вашем ПК.Как правило, убедитесь, что компилятор iX86-host + ARM-target находится на вашем пути.Затем необходимо установить хост-кортеж или префикс для этой цепочки инструментов в меню toolchain .Вам необходимо установить кортеж для того же компилятора.

ct-ng help |Переменные grep

Это дает каталог с кучей текстовых файлов, которые вы можете grep для подсказок.

См. 6 - Набор инструментов types.txt например. Кросс-нативный или Канадский кросс действительно не имеет значения, с точки зрения сложности строительства.Вам нужно только одно промежуточное звено для Cross native , но вам нужно два промежуточных компилятора для канадского креста .

Edit: Ct-ng's Как устроен компилятор имеет некоторую информацию обо всем происходящем.

...