gpt4 book ai didi

c++ - 如何让 -fpermissive 标志生效?

转载 作者:行者123 更新时间:2023-11-30 05:39:02 24 4
gpt4 key购买 nike

我正在使用 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

最佳答案

实际上这不是标志定义,因此您不应使用 -Dflagname,而应使用 -fpermissive,这是编译器的标志。

-Dflagname 具有 #define flagname 的效果,这不是您需要做的。

顺便说一下,-fpermissive 不会抑制错误,它只是将它们降级为警告。

关于c++ - 如何让 -fpermissive 标志生效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32513101/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com