Проблемы с перекрестным повышением компиляции

Я пытаюсь установить Повышение 1.42 в нашей системе. Мне нужно Повышение для компиляции для регулярной x86 архитектуры с gcc, и мне нужна кросс-компиляция для процессора ARM Texas Instruments.

Набор инструментальных средств для процессора ARM основан на gcc. Инструменты как gcc, площадь, ranlib все снабжается префиксом arm_v5t_le-. Документация о перекрестной компиляции несколько ограничена. Вот то, что я сделал: Я добавил следующее к пользовательскому-config.jam файлу: using gcc : arm : arm_v5t_le-g++ ; Bjam вызывается от нашего Make-файла как это: bjam toolset=gcc-arm --toolset-root=/opt/mv_pro_4.0/montavista/pro/devkit/arm/v5t_le/bin скомпилировать для процессора ARM, и как это: bjam toolset=gcc для x86 процессора. Опция - корень набора инструментов упоминается здесь.

Я столкнулся со следующей проблемой: Когда я создаю наше приложение для процессора ARM, я получаю следующую ошибку компоновщика: libboost_system-mt.a: не мог считать символы: Архив не имеет никакого индекса; выполненный ranlib для добавления того. После того, как я выполнил arm_v5t_le-ranlib на архиве, он связывается без проблем. Мое предположение - то, что bjam использует площадь в земельном участке arm-v5t_le-ar. Как я говорю bjam, какой archiver это должно использовать?

В списке рассылки это, как говорили, указывало в пользователе-config.jam также, но к сожалению это, кажется, не работает. Я заканчиваю с той же ошибкой компоновщика.

Спасибо.

5
задан André 23 February 2010 в 10:37
поделиться

1 ответ

Попробуйте сборку Boost на основе CMake, которая может выполнять кроссплатформенные сборки лучше, чем BJam. По крайней мере, мне это удалось (но я никогда не пробовал ARM).

3
ответ дан 15 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

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