我正在使用 NDK (Android) 用 c++ 构建一个库。输出告诉我一些代码被标记为错误,但可以通过使用 -fpermissive 标志来抑制。至少在我看来是这样。输出是:
MyClass.cpp:412:1: error: jump to label 'extractUp' [-fpermissive]
extractUp:
^
jni/../../../../SharedSrc/MyClass.cpp:469:10: error: from here [-fpermissive]
goto extractUp;
^
jni/../../../../SharedSrc/MyClass.cpp:402:31: error: skips initialization of 'Foo* ISC'
Foo *ISC = new Foo;
导致错误的代码在这里不相关,因为我要问的问题是什么可能阻止 -fpermissive 标志生效。makefile(Android.mk)在设置标志的方式上似乎是正确的,但我对 make 文件知之甚少:
add_definitions(-DFPERMISSIVE=1)
我也尝试过 -Dfpermissive 以防所有大写都不允许,并尝试将其添加到 LOCAL_CFLAGS 中:
LOCAL_CFLAGS += -Dfpermissive
和
LOCAL_CFLAGS += -DFPERMISSIVE