Это бинарная совместимость для Emdebian и Android?

Android ndk сложно использовать для старого кода, основанного на autoconf, поэтому я использовал scratchbox2/emdebian для создания полной среды сборки. Могу ли я построить общую библиотеку в emdebian (arch is armel), а затем использовать ее в Android?

2 ответа

Решение

Официальный NDK поставляется с версией GCC, которая работает с пользовательским Bionic libc от Google. Если вы используете версию GCC, предназначенную для работы с GNU libc, вы должны статически связать ее (как это сделано в Crystax NDK). Таким образом, даже если ваш компилятор генерирует правильные инструкции, возможно, стоит переделать среду сборки, чтобы избежать ненужного вздутия приложения.

Армел это Арм Эаби. Android - это ARMv5 eABI. Они, вероятно, будут совместимы.

Другие вопросы по тегам