Автономное приложение для кросс-компиляции?

Я пытаюсь кросс-компилировать отдельное приложение для армборда, и самое главное, я хочу скомпилировать его без фреймворка Android.mk.

У меня есть следующее сомнение: -

1- Какой инструмент мне следует использовать (arm-eabi или arm-linux-androideabi и т. д.).

2- Откуда я должен скачать библиотеку и компоненты, связанные с инструментальной цепочкой.

3- Какие флаги компиляции я должен включить для автономной компиляции (полностью статической).

Пожалуйста, прокомментируйте, если вопрос не ясен, а также добавьте соответствующую информацию, которую мне не хватает, подробная информация будет оценена.


person Pradeep Goswami    schedule 22.12.2015    source источник
comment
Я бы порекомендовал прочитать документацию об использовании инструментов сборки с собственным комплектом разработки Android по адресу https://developer.android.com/tools/sdk/ndk/index.html.   -  person edition    schedule 22.12.2015


Ответы (1)


Часть Standalone Toolchain NDK охватывает именно это.

Прежде всего, компилятору необходимо знать, где находится sysroot, чтобы он мог найти стандартные библиотеки.

SYSROOT=$NDK/platforms/android-21/arch-arm

и тогда либо вы можете сделать

export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \
linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT"  $CC -o foo.o -c foo.c

а для статических компиляций просто добавьте -static к вызову.

Расширенный метод заключается в установке определенной цепочки инструментов в каталог, который затем вы можете вызывать напрямую, не указывая sysroot.

person auselen    schedule 22.12.2015