Компилятор NDK 11 обрабатывает предупреждения как ошибки

Я пытаюсь построить библиотеку с android ndk-11, и я получаю ошибку компоновщика:

arm-linux-androideabi/bin/ld: error: treating warnings as errors

Я не получаю эту ошибку, если я использую ndk-r10e.

Запуск ndk-build с V = 1, я вижу, что -Wl,--fatal-warnings передаются компоновщику. Я попытался добавить LOCAL_LDFLAGS:=-Wl,--no-fatal-warnings в мой файл Android.mk, и я вижу в выходе компоновщика, что он фактически передается компоновщику, но он передается раньше -Wl,--fatal-warnings , поэтому его игнорируют.

Предупреждения поступают из сторонней библиотеки, поэтому я не могу просто перекомпилировать ее для исправления предупреждений (все они относятся к «перестановкам относится к предупреждениям об отброшенном разделе»). Я всегда видел эти предупреждения и никогда не испытывал никаких проблем.

Кто-нибудь знает, как сообщить компоновщику ndk-11 не рассматривать предупреждения как ошибки?

Я понял это, когда писал, поэтому решил, что смогу поделиться решением.

<NDK_ROOT>/build/core имеет кучу .mk-файлов, которые используются при запуске ndk-build. Внутри build-binary.mk есть несколько новых (недокументированных) проверок для переменных, которые вы можете определить. Для этого есть следующий блок:

 # We enable fatal linker warnings by default. # If LOCAL_DISABLE_FATAL_LINKER_WARNINGS is true, we don't enable this check. ifneq ($(LOCAL_DISABLE_FATAL_LINKER_WARNINGS),true) LOCAL_LDFLAGS += -Wl,--fatal-warnings endif 

Добавление LOCAL_DISABLE_FATAL_LINKER_WARNINGS=true в мой файл .mk заставило ошибку уйти.

В этих файлах есть много других вещей, поэтому, если вы внезапно получаете странные ошибки сборки, загляните туда, чтобы узнать, включено ли что-то новое.