我試圖編譯使用下面的命令(視窗64)C源文件:的Android鏘MIPS/MIPS64彙編程序錯誤「無法執行命令:程序不可執行」
E:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang -target mipsel-none-linux-android -gcc-toolchain E:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 -D__android__ --sysroot=E:/Android/android-sdk/ndk-bundle/platforms/android-24/arch-mips -o "C:/array.o" -c "C:/array.c"
每次我得到的錯誤:
clang.exe: error: unable to execute command: program not executable
clang.exe: error: assembler command failed with exit code 1 (use -v to see invocation)
我已驗證的文件夾和所需的二進制文件(我的NDK安裝是從Android SDK本身)。
我也有在MacOS完全相同的問題,但更多的輸出,其中出現「程序不可執行」的錯誤:
clang: error: unknown argument: '-march'
clang: error: unknown argument: '-mabi'
clang: error: unknown argument: '-call_nonpic'
clang: error: unknown argument: '-KPIC'
clang: error: no such file or directory: 'mips32r2'
clang: error: no such file or directory: '32'
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
-v顯示如下(在Windows 64和MacOS,和MacOS呼叫「在/ usr/bin中/ AS」):
Android clang version 3.8.256229 (based on LLVM 3.8.256229)
Target: mipsel-none-linux-android
Thread model: posix
...
clang -cc1 version 3.8.256229 based upon LLVM 3.8.256229 default target x86_64-unknown-linux
...
"as" -march mips32r2 -mabi 32 -call_nonpic -EL -KPIC
帶有省略號是路徑輸出(均證實是正確的) - 重申同樣的問題發生在Windows 64和MacOS。
每隔支持的Android NDK體系結構使用此命令(交換路徑和-target爲其他架構)完美的罰款。 i686,x86_64,aarch64,armv5te,armv6和armv7-a都可以在Windows x64和macOS上運行。
我也嘗試過所有路徑引號/不引號的組合 - 沒有區別。
這個問題發生在mips,mips64,mipsel和mips64el。
非常感謝。 很奇怪,它適用於其他架構,特別是在不同的環境中。我想這就是爲什麼我錯過了這個。 –