构建错误:depfile具有多个输出路径ninja:构建已停止:子命令失败

时间:2019-02-07 09:20:35

标签: android-studio cmake java-native-interface ninja

在使用需要CMake支持的JNI代码构建Java项目时遇到此错误。该项目使用Android Studio构建,并支持NDK,CMake和LLVM。这些是CMake使用的以下标志。我实际上使用了来自作为C ++项目创建的项目的C ++代码,并将其包含在我的代码中。我猜,构建链对我来说太复杂了。我收到了这个错误表格Ninja。

  

失败:CMakeFiles / RoyaleCameraJNI.dir / src / main / jni / RoyaleCameraJNI.cpp.o   / $ HOME / Android / Sdk / ndk-bundle / toolchains / llvm / prebuilt / linux-x86_64 / bin / clang ++ --target = aarch64-none-linux-android21 --gcc-toolchain = $ HOME / Android / Sdk / ndk -bundle / toolchains / llvm / prebuilt / linux-x86_64 -DRoyaleCameraJNI_EXPORTS -DTARGET_PLATFORM_ANDROID -I ../../../../ src / main / jniLibs / arm64-v8a / include    -Wno不一致的丢失覆盖-std = gnu ++ 11 -MD -MT -MF -fdata-sections -ffunction-sections -funwind表-fstack-protector-strong-无规范前缀-fno-addrsig- Wa,-noexecstack -Wformat -Werror = format-security -stdlib = libc ++ -O0 -fPIC -O0 -fno-limit-debug-info -fPIC -std = gnu ++ 11 -MD -MT CMakeFiles / RoyaleCameraJNI.dir / src / main / jni / RoyaleCameraJNI.cpp.o -MF CMakeFiles / RoyaleCameraJNI.dir / src / main / jni / RoyaleCameraJNI.cpp.od -o CMakeFiles / RoyaleCameraJNI.dir / src / main / jni / RoyaleCameraJNI.cpp.o c ../../../../src/main/jni/RoyaleCameraJNI.cpp   depfile具有多个输出路径   忍者:构建停止:子命令失败。

如果有任何解决方法,请帮助...

1 个答案:

答案 0 :(得分:0)

就我而言,此错误消息的原因是因为我的源路径包含%。将它们更改为_解决了我的问题。

就您而言,它看起来更像discussion here

  

Ninja可以规范化来自GCC样式的依赖文件的文件路径,而无需   查询文件系统。当符号链接合并时,这会中断   带有“ ..”组件(由Clang生产)

很遗憾,没有合并任何更正,但是您可以尝试从路径中删除符号链接或“ ..”。