Java 什么';JNI编译器中的预处理器elif有什么问题?

Java 什么';JNI编译器中的预处理器elif有什么问题?,java,c++,android-ndk,java-native-interface,Java,C++,Android Ndk,Java Native Interface,当我尝试用NDK在AndroidStudio中编译.c文件时,我得到错误: FAILED: C:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang.exe --target=mips64el-none-linux-android --gcc-toolchain=C:/AndroidSDK/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt

当我尝试用NDK在AndroidStudio中编译.c文件时,我得到错误:

FAILED: C:\AndroidSDK\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang.exe  --target=mips64el-none-linux-android --gcc-toolchain=C:/AndroidSDK/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/windows-x86_64 --sysroot=C:/AndroidSDK/ndk-bundle/platforms/android-21/arch-mips64 -Dnative_lib_EXPORTS -I/src/main/cpp/include -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security  -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC -MD -MT CMakeFiles/native-lib.dir/src/main/cpp/src/file.c.o -MF 
及以下

#define EcCurveFromBytes EcjaKCurveFromBytes /src/main/cpp/include\Crypto/Core/Algorithm/ecja_curve_select.h:76:9: note: previous definition is here #define EcCurveFromBytes EcjaMCurveFromBytes
我只是尝试使用#if#elif预处理器。我怎样才能修好它

#if (GFP_IMPL == GFP_IMPL_G)
#define EcCurveFromBytes EcjaGCurveFromBytes
#elif (GFP_IMPL == GFP_IMPL_K)
#define EcCurveFromBytes EcjaKCurveFromBytes
堆栈跟踪:

In file included from C:\Users\srgev\AndroidStudioProjects\MyApplication4\app\src\main\cpp\src\Crypto\Core\Bign.c:294:
../../../../src/main/cpp/include\Crypto/Core/Bign_c_impl.h:7:8: error: redefinition of 'BignLoadDefaultParameters'
bool_t BignLoadDefaultParameters( EcCurveEx ex, uint64 *pseed, bitsiz_t L )
     ^
../../../../src/main/cpp/include\Crypto/Core/Bign_c_impl.h:7:8: note: previous definition is here
bool_t BignLoadDefaultParameters( EcCurveEx ex, uint64 *pseed, bitsiz_t L )

您的代码是否确实有一个您刚才未能复制的
#endif
文件?是您编写的文件吗?分心了。。。但是根据您展示的内容,我建议的第一件事是确保您的include文件被
包围,如果ndef BIGN\u C\u IMPL\u H\define#endif
您的代码是否确实有一个您刚才复制失败的
#endif
文件?是您编写的文件吗?分心了。。。但是根据您展示的内容,我建议的第一件事是确保您的include文件被
包围,如果ndef BIGN\u C\u IMPL\u H\define#endif