Могу ли я выполнить кросс-компиляцию с помощью gcc для старой версии дистрибутива Linux на моем Ubuntu 9.10? - PullRequest
0 голосов
/ 29 апреля 2010

У меня есть старое оборудование со старой версией, скажем, SuSE linux. Теперь у меня есть эта необычная машина для разработки под управлением Ubuntu 9.10. Некоторые из инструментов, которые я использую для компиляции своего приложения C (написанного на Python 2.6.x), недоступны в старой версии SuSe. Итак ... можно ли скомпилировать для этой старой машины на моем устройстве dev?

Я имею в виду следующие шаги, но хотел бы перепроверить, прежде чем отправиться в этот квест: 1. Узнайте, какие статические / общие библиотеки нужны моему приложению, и найдите / соберите их целевую версию 2. Также найдите соответствующие заголовочные файлы 3. Подайте правильные флаги в gcc, чтобы использовать целевые заголовки и библиотеки 4. Введите правильные флаги в gcc, чтобы использовать правильную архитектуру (i386 / i686), или мне нужен набор инструментов для кросс-компиляции. 5. Скомпилируйте, загрузите и наслаждайтесь; -)

Я регулярно использую avr-gcc и cc65, оба кросс-компилируются. Я знаю, что вы создали coss-компилятор для разработки чего-то вроде gumstix, так что должно быть возможно сделать то же самое для старых / других дистрибутивов Linux, не так ли?

C

1 Ответ

2 голосов
/ 10 мая 2010

Я бы подошел к этому так: возьмите ваши oldmachine:/usr/lib и oldmachine:/usr/include, чтобы у вас было, например, newmachine:/oldmachinecompiler/usr/{lib|include}, а затем создайте настройку кросс-компилятора --sysroot до newmachine:/oldmachinecompiler/

Это действительно единственноеспособ гарантировать, что любые требования библиотеки (включая libc) в вашей программе совместимы с oldmachine.

...