Попытка кросс-компиляции Boost 1.46.1 на Ubuntu 10.10 для Arm Linux - PullRequest
2 голосов
/ 26 августа 2011

У меня есть цепочка инструментов для кросс-компиляции для руки, и я успешно компилирую довольно большое приложение с ним на Ubuntu 10.10.

Сейчас я пытаюсь ввести буст 1.46.1. Я сделал то, что говорят инструкции кросс-компиляции. А именно запускается bootstrap.sh, модифицируя user-config.jam для добавления строки:

using gcc : arm : /path/to/compiler/arm-none-linux-gnueabi-g++ ;

Когда я выпускаю:

 ./bjam --toolchain=gcc-arm

BJAM компилирует повышение, но когда я делаю:

 file ..../something.o

В выводе указывается файл ELF для Intel 80386, а не файл arm. Я проверял работоспособность с другими объектами приложения, и команда file сообщает о состоянии не 80386.

Я попытался установить свой PATH, чтобы сначала поставить двоичные файлы для кросс-компиляции, и установить LD_LIBRARY_PATH для библиотек компилятора arm, но ничего из того, что я сделал, похоже, не позволяет bjam компилировать для Intel.

Ответы [ 2 ]

5 голосов
/ 26 августа 2011

Функции не начинаются с --, а toolchain не является допустимой функцией; сделать это:

bjam toolset=gcc-arm

1 голос
/ 26 августа 2011

Очень удобный способ отладки проблем с bjam - это включение аргумента -n. Он напечатает все командные строки вместо их выполнения. Тогда вы увидите, какой g ++ на самом деле вызывается.

Если вы уже собрали все, вы можете включить -a, что означает «восстановить все с нуля»

...