背景:我想在Windows7上使用clang和clang++的Obfuscator-llvm-8.0版本,所以我得到了Obfuscator-llvm-8.0源代码并成功编译了它,然后我把"clang.exe, clang++.exe, clang-check.exe, clang-format.exe“放到了原始的ndk工具链中,这就是"xxx\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin";如果你现在构建apk,你会得到"Build command failed.”,因为有些.h文件也需要拷贝,所以我拷贝了它们;
故障情况: cmake apk,会报错(见下文),所以我直接复制clang++编译字符串,直接在windows终端执行,执行成功,生成.o文件,再复制cmake参数执行,得到.so文件;
麻烦:我不能在Android Studio IDE上构建它,并且我无法获得任何详细的错误消息来修复它;有什么我遗漏的吗?或者有没有找到关于“忍者:构建停止:子命令失败”的详细信息?
我试过搜索"ninja: build stopped: subcommand failed“。在google上,获取一些关于complie AndroidOs的信息,告诉你做些什么来修复它,但不告诉你为什么。
以下是完整的错误消息:
Build command failed.
Error while executing process D:\Android\Sdk\cmake\3.10.2.4988404\bin\cmake.exe with arguments {--build C:\Users\Administrator\AndroidStudioProjects\OllvmTest\app\.externalNativeBuild\cmake\debug\armeabi-v7a --target native-lib}
[1/2] Building CXX object CMakeFiles/native-lib.dir/native-lib.cpp.o
FAILED: CMakeFiles/native-lib.dir/native-lib.cpp.o
D:\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi19 --gcc-toolchain=D:/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=D:/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -Dnative_lib_EXPORTS -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security -O0 -fno-limit-debug-info -fPIC -MD -MT CMakeFiles/native-lib.dir/native-lib.cpp.o -MF CMakeFiles\native-lib.dir\native-lib.cpp.o.d -o CMakeFiles/native-lib.dir/native-lib.cpp.o -c C:/Users/Administrator/AndroidStudioProjects/OllvmTest/app/src/main/cpp/native-lib.cpp
ninja: build stopped: subcommand failed.发布于 2020-10-28 17:09:32
我在Yocto建立了这个问题。解决方案是减少用于并行构建的线程数量。
https://stackoverflow.com/questions/56595300
复制相似问题