私は、CとC++ファイルを混在させたライブラリをndk-build(r10e)でコンパイルしています。私は、交流ファイルでAndroid ndk build:CとC++の警告レベルを指定する
file.cpp:4:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int pos = 0; pos != size; ++pos)
:私はこのコードをコンパイルするときしかし、
LOCAL_CPPFLAGS += -Wall
LOCAL_CPPFLAGS += -Wno-unused-parameter
LOCAL_CFLAGS += -Wall
LOCAL_CFLAGS += -Wno-unused-parameter
::cppのファイルで
void func2()
{
unsigned int size = 3;
int pos;
for (pos = 0; pos != size; ++pos)
{
}
}
を、私は期待される警告を受ける私のMKファイルには、ラインを持っていますどんな警告もしないでください...
の警告レベルを指定する適切な方法はありませんファイル? ボーナスの質問:C
とC++
の両方に警告レベルを指定する方法はありますか(線の再現を避けるため)LOCAL_CPPFLAGS
/LOCAL_CFLAGS
?
Cコンパイラはこのコードを警告しないかもしれないと考えましたか?あなたは他の警告を試しましたか?ちょっとした考え。 –
NDKの古代版を使用していない限り、 'LOCAL_CFLAGS'はCとC++コードの両方に適用されます。 – Michael
少なくともGCCの場合、 '-Wall'はC++コードに対して' -Wsign-compare'を有効にします。 Cコードでは '-Wextra'(または' -Wsign-compare')が必要です。 (https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.htmlを参照) – Michael