错误:使用Android NDK编译时设置了变量但未使用

问题描述 投票:0回答:1

我正在尝试从 this 存储库编译并生成共享库。该过程由

ndk-build
命令启动。我在编译阶段遇到错误:

启动编译的ndk命令是:

C:\sdks\Android\Sdk\ndk\25.1.8937393\build\ndk-build --output-sync=none NDK_PROJECT_PATH=./ NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk NDK_OUT=./build/ NDK_LIBS_OUT=./jniLibs -j 4

输出:

...
[arm64-v8a] Compile        : xml2 <= encoding.c
[arm64-v8a] Compile        : xml2 <= error.c
[arm64-v8a] Compile        : xml2 <= parserInternals.c
././libxml2-2.9.9/encoding.c:2397:12: error: variable 'writtentot' set but not used [-Werror,-Wunused-but-set-variable]
    size_t writtentot = 0;
           ^
././libxml2-2.9.9/encoding.c:2570:9: error: variable 'writtentot' set but not used [-Werror,-Wunused-but-set-variable]
    int writtentot = 0;
        ^
././libxml2-2.9.9/encoding.c:2572:9: error: variable 'output' set but not used [-Werror,-Wunused-but-set-variable]
    int output = 0;
        ^
3 errors generated.
make: *** [C:/sdks/Android/Sdk/ndk/25.1.8937393/build/../build/core/build-binary.mk:422: build//local/arm64-v8a/objs/xml2/./libxml2-2.9.9/encoding.o] Error 1
make: *** Waiting for unfinished jobs....

我了解该错误:警告设置为被视为错误。

我尝试通过将其添加到我的

application.mk
文件中来禁用此行为:

APP_CFLAGS   += -O3
APP_CFLAGS   += -Wno-unused-but-set-variable

APP_CPPFLAGS += -O3
APP_CPPFLAGS += -Wno-unused-but-set-variable

但什么都没有改变。

如何禁用 ndk-build 传递给编译器的标志以及导致此错误的标志?

android c++ c android-ndk
1个回答
0
投票

我通过将此行添加到文件 cflags.mk 来修复此问题:

LOCAL_CFLAGS    += -Wno-unused-but-set-variable
© www.soinside.com 2019 - 2024. All rights reserved.