Я новичок в кросс-компиляции. Я понимаю идею, что код должен быть скомпилирован таким образом, что цель сможет выполнить двоичный код, и для достижения этой цели есть цепочки инструментов.
Моя хост-система запускает 32-разрядную Ubuntu 16.04 ОС Intel i3, а целевая система запускает 32-битный Ubuntu 16.04 с процессором Samsung S5P6818 Octa-Core Cortex-A53. Я теперь потерян, но я постараюсь задать вопрос:
1) Как мне следует перекрестно скомпилировать в этом случае? то есть; как решить, какие инструменты использовать для заданных спецификаций хоста и целевого объекта.
2) Должны ли библиотеки, используемые для кросс-компиляции, также присутствовать на цели? Я задаю это, потому что у мишени есть серьезные ограничения памяти.
Я прикрепляю выходы uname -m для обеих систем:
Для хоста:
Linux host 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:13 UTC 2017 i686 i686 i686 GNU/Linux
Для цели:
Linux target 3.4.39-s5p6818 #2 SMP PREEMPT Mon Jun 19 18:28:40 HKT 2017 armv7l armv7l armv7l GNU/Linux
Я вижу, что версии ядра отличаются друг от друга, это также следует учитывать обряд?