Я использую флаг -Werror
, чтобы обрабатывать все предупреждения как ошибки в моем коде. Тем не менее, я хотел бы компилировать предупреждения, выпущенные из кода, которые по-прежнему рассматриваются как предупреждения. Вариант GCC для этого - -Wno-error=cpp
, который работает правильно, однако параметр clang - -Wno-error=#warnings
, который я не знаю, как пройти до clang
от Android.mk
.Как правильно избежать хэша в Android.mk?
Я попытался это:
ifeq "$(findstring clang,$(NDK_TOOLCHAIN_VERSION))" "clang"
LOCAL_CFLAGS += -Wno-error=#warnings
endif
и это (как это было предложено в this SO answer):
ifeq "$(findstring clang,$(NDK_TOOLCHAIN_VERSION))" "clang"
LOCAL_CFLAGS += -Wno-error=\#warnings
endif
Однако обе версии лечения #
в начале комментария и ndk-build
проходит -Wno-error=
компилятора (т.е. все после =
игнорируется) - Я проверил это с ndk-build -n
.
Я даже попытался
ifeq "$(findstring clang,$(NDK_TOOLCHAIN_VERSION))" "clang"
LOCAL_CFLAGS += -Wno-error=\\#warnings
endif
который производит -Wno-error=\
флаг компилятора.
Как правильно передать этот флаг компилятора для записи от Android.mk
файла?
Я использую NDK r12b.
EDIT: Я даже попытался это:
ifeq "$(findstring clang,$(NDK_TOOLCHAIN_VERSION))" "clang"
VAR=\#warnings
$(info VAR is '$(VAR)')
LOCAL_CFLAGS += -Wno-error=$(VAR)
endif
и ndk-build
первые выходы сообщение VAR is '#warnings'
пока компилятор аргументы содержат -Wno-error=
. Это, очевидно, проблема NDK.
Пытался что. В командной строке заканчивается '' -Wno-error = '.Это, кажется, проблема NDK, а не проблема с файлом. Я сообщил об этой проблеме [здесь] (https://github.com/android-ndk/ НДК/проблемы/161). – DoDo