1

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

add_definitions(-DFPERMISSIVE=1) 

Я также попытался -Dfpermissive в случае, если все крышки не были разрешены и попытался добавить его в LOCAL_CFLAGS с:

LOCAL_CFLAGS += -Dfpermissive 

и

LOCAL_CFLAGS += -DFPERMISSIVE 

ответ

1

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

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

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

+0

Можете ли вы уточнить, как использовать его как просто -профильный? Я изменил строку LOCAL_CFLAGS в моем примере, чтобы просто использовать -fpermissive, и теперь он жалуется на «непризнанную опцию командной строки» -fpermissive ». – Alyoshak

+0

Я также попробовал просто добавить -fpermissive в командной строке. Я запускал «ndk-build -fpermissive», но он ответил «make: permissive: Нет такого файла или каталога», а вторая строка после этого «make: *** Нет правила, чтобы сделать цель« разрешающей ». Стоп». Как заставить его распознать -fpermissive? – Alyoshak

+0

Вы пытались с помощью 'APP_CFLAGS'? Http: //stackoverflow.com/questions/13323655/controlling-compiler-flags-in-the-android-ndk – Jack