Генерация 64-битного исполняемого кода для Android с помощью arm-linux-androideabi- toolchain
Я пытаюсь сгенерировать 64-битный собственный код для 64-битной платформы Android, но я не могу его сгенерировать, даже после успешной компиляции сгенерированный собственный код показывает 32-битный ( "ELF 32-битный исполняемый LSB, ARM, версия 1 (SYSV), динамически скомпонованный (использует разделяемые библиотеки), не разделенный ").
Я использовал набор инструментов "arm-linux-androideabi-" из NDK r9 x86_64 . Я буду признателен, если кто-нибудь объяснит, что я должен делать именно для генерации нативного кода для 64-битного Android или если невозможно сгенерировать 64-битный код.
Спасибо,
2 ответа
Для NDK R9 будет сложно скомпилировать 64-битную руку. NDK r10 имеет готовые наборы инструментов для 64-битной ARM. Если вы скачаете NDK r10 и загляните в каталог / toolchains, вы увидите:
aarch64-linux-android-4.9 aarch64-linux-android-clang3.4 aarch64-linux-android-clang3.5
Это gcc и clang 3.4 и 3.5, соответственно, наборы инструментов для построения 64-битной ARM.
Вы можете скачать новые наборы инструментов с обычной точки распространения, которая находится здесь: https://developer.android.com/tools/sdk/ndk/index.html
Вам нужно использовать набор инструментов arm64 от r10. Цепочка для инструментов является строго 32-битной.