-Werror
フラグを使用して、すべての警告をコード内のエラーとして処理しています。しかし、私はコードから発行されたコンパイル警告を警告として扱いたいと思います。これのGCCオプションは-Wno-error=cpp
ですが正しく動作しますが、clangオプションはclang
にAndroid.mk
から渡す方法がわからない-Wno-error=#warnings
です。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
で検査しました。
私も-Wno-error=\
コンパイラフラグを生成
ifeq "$(findstring clang,$(NDK_TOOLCHAIN_VERSION))" "clang"
LOCAL_CFLAGS += -Wno-error=\\#warnings
endif
を試みました。
Android.mk
ファイルからこのコンパイラフラグを正しく渡すにはどうすればいいですか?
私はNDK r12bを使用しています。
EDIT:VAR is '#warnings'
まだコンパイラの引数が-Wno-error=
が含まれている
ifeq "$(findstring clang,$(NDK_TOOLCHAIN_VERSION))" "clang"
VAR=\#warnings
$(info VAR is '$(VAR)')
LOCAL_CFLAGS += -Wno-error=$(VAR)
endif
とndk-build
最初の出力メッセージ: 私もこれを試してみました。これは明らかにNDKの問題です。
はそれをしようとしました。コマンドラインで '' -Wno-error = 'が終了します。これはメークファイルの問題ではなく、NDKの問題であると思われます。[here](https://github.com/android-ndk/) ndk/issues/161)。 – DoDo