hakain
@hakain
Немного знаю С/С++, Qt, и микроконтроллеры

Как сделать кросскомпиляцию gcc?

Я тут решил собрать компилятор GCC. Но не просто собрать, а собрать так, чтобы собранный компилятор компилировал исходники под QNX. Так вот, я уверен, то что я буду спрашивать есть в интернете, но я немного запутался.
В первую очередь, нужно собрать gmp, mpfr и mpc. Я их собрал с опцией (это верно в моем случае?):
HOST=x86_64-pc-nto-qnx6.5.0
--host=$HOST

Далее нужно собрать GCC.
Собираю я версию gcc-4.8.1.
Тут я и запутался. Есть три опции:
System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
  --target=TARGET   configure for building compilers for TARGET [HOST]

--build - платформа где будут собираться исходники какой либо программы
--host - указываем где будет запускаться скомпиленная программа
--target - а это как я понимаю используется чтобы указать где будет собираться сам GCC?
  • Вопрос задан
  • 358 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
--build - платформа где будут собираться исходники какой либо программы
--host - указываем где будет запускаться скомпиленная программа
--target - а это как я понимаю используется чтобы указать где будет собираться сам GCC?

Применительно к тулчейну
- build -- это машина, на которой ты строишь тулчейн. В твоём случае configure сам определит.
- host -- это машина на которой тулчейн будет выполняться. В твоём случае это то же самое, что build. Можно не указывать.
- target -- это машина, под которую тулчейн будет генерировать код.

Я их собрал с опцией (это верно в моем случае?):
HOST=x86_64-pc-nto-qnx6.5.0

Похоже на правду.

Но не просто собрать, а собрать так, чтобы собранный компилятор компилировал исходники под QNX.

Для этого тебе нужно понять, чем код, сгенерированный под QNX отличается от кода под ту же процессорную архитектуру, но под другую ОС.
spoiler
В основном -- библиотекой С.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы