Я строю библиотеку в C ++ с NDK (Android). Вывод говорит мне, что некоторый код помечен как ошибка, но может быть подавлен с помощью флага -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
На самом деле это не определение флага, поэтому вы не должны использовать -Dflagname
но просто -fpermissive
, который является флагом для компилятора.
-Dflagname
имеет эффект #define flagname
это не то, что вам нужно сделать.
Кстати -fpermissive
не подавляет ошибки, а просто переводит их в предупреждение.