Как заставить флаг -fpermissive вступить в силу?

Я строю библиотеку в 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

1

Решение

На самом деле это не определение флага, поэтому вы не должны использовать -Dflagname но просто -fpermissive, который является флагом для компилятора.

-Dflagname имеет эффект #define flagname это не то, что вам нужно сделать.

Кстати -fpermissive не подавляет ошибки, а просто переводит их в предупреждение.

1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector