У меня есть большое заявление, которое я написал. Я могу успешно скомпилировать приложение в следующих сценариях:
- в нативной компиляции для хоста i386 под управлением Ubuntu 12.04
- изначально на PandaBoard под управлением Ubuntu 12.04 (это занимает много времени)
- использование Qemu и chroot на главном ПК для цели armhf PandaBoard (это занимает очень много времени)
Я хотел бы кросс-компилировать приложение на хосте i386 для запуска на такой цели, как PandaBoard, для своевременного завершения сборок. До сих пор попытки, сделанные с использованием цепочки инструментов arm-linux-gnueabihf в репозиториях, дали двоичные файлы, которые работают неправильно. На данном этапе я не планирую упаковывать программное обеспечение.
Каков рекомендуемый способ достижения успешного кросс-компиляции?
software-installation
cross-compilation
Джонатан Кейв
источник
источник
Ответы:
https://wiki.linaro.org/Platform/DevPlatform/CrossCompile/UsingMultiArch
https://wiki.ubuntu.com/MultiarchCross
В Ubuntu есть кросс-цепочка,
apt-get install gcc-arm-linux-gnueabihf
но работа над цепочкой инструментов следующего поколения обсуждается здесь: http://gsoc.sitedethib.com/posts/apt-get_install_gcc-4.7-arm-linux-gnueabihf/На данный момент существует ряд обходных путей. Например, если вы используете косвенные ссылки (описанные на вики-странице linaro), вам также следует избегать запуска внешних двоичных файлов сразу после их компиляции.
Кроме того, это действительно самый зрелый с автоинструментами.
Я получил свой пакет для кросс-компиляции довольно быстро.
источник