2012-03-26 2 views
2

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

Я хочу создать 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?

+0

Я считаю, что это правильный подход. Что вы пытались, а что не получилось? Возможно, «gcc-help @ gcc.gnu.org» лучше спросить. –

+0

В основном у меня нет уверенности, и я ищу уверенности в том, что я нахожусь на правильном пути :) Я пробовал это, но crosstool-ng-1.14.1 дает ошибку, говоря, что заголовок curses не может быть найден. Поскольку он работал очень хорошо для создания стандартного кросс-компилятора, я предположил, что делаю что-то неправильно – stuck

+0

Это выглядит правильно. Обратите внимание, что это не * Canadian Cross *: это кросс-нативная сборка *. У канадского креста все три платформы будут разными. Например.хороший способ построить для Windows - использовать build = i686-pc-liunx-gnu host = i686-mingw32 target = arm-unknown-linux-gnu – ams

ответ

1

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

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

ct-ng help | GREP переменные

Это дает каталог с кучей текста файлов, которые вы можете Grep намеков.

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

Редактировать:Ct-ng's How a compiler is constructed содержит информацию обо всех событиях.

+0

Ссылка «git» - [Ct-ng's How, компилятор построен] (http://crosstool-ng.org/git/crosstool-ng/plain/docs/6%20-%20Toolchain%20types.txt), который, вероятно, является более длительным, поскольку ответ был написан. –