Есть ли способ позволить Android NDK-build использовать более новую версию gcc?
Я установил версию Android NDK r5b для Windows, и я использую cygwin для компиляции кода C.
Я вижу, что NDK-сборка фактически вызывает
C:\android-ndk-r5b\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gcc-4.4.3 для компиляции. Интересно, есть ли способ позволить NDK-build использовать более новую версию gcc?
Я хочу сделать это:
Gcc4.4.3 имеет известную ошибку при генерации не оптимального ассемблерного кода для некоторых NEON-функций http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43118
http://hilbert-space.de/?p=22
Недавно выпущенный GCC 4.6 утверждает, что он имеет некоторые улучшения для ARM и встроенных средств. Поэтому я хочу попробовать использовать NDK-build GCC4.6.
Ответы
Ответ 1
Я верю, что на ваш вопрос будет дан ответ на эту документацию NDK: docs/STANDALONE-TOOLCHAIN.html. Мне кажется, что вы знаете, что делаете, поэтому просто прислушайтесь к предупреждениям и счастливому взлому. Я считаю, что раздел 3 "Вызов компилятора (простой способ)" - это то, что вы ищете.
Ответ 2
Существует альтернативная сборка NDK: http://www.crystax.net/en/android/ndk/7
Он включает gcc 4.6.3.
Ответ 3
Пытаясь ответить на это, я натолкнулся на это, что является пошаговой записью человека, который успешно построил toolchain с GCC 4.6: http://glandium.org/blog/?p=2146.
Ответ 4
Выпущена версия Android NDK 8b с GCC 4.6 в качестве инструментальной привязки по умолчанию.
http://developer.android.com/tools/sdk/ndk/index.html