私は、次のコマンド(Windowsのx64の)と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"
私が手にするたびにエラー:
フォルダと必要なバイナリが存在することを確認しました(私の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)
のMacOSには、Windows x64およびMacOSの両方で(次のことを示し-v呼び出し「は/ usr/binに/のように」):パス出力は、(すべてが正しいことが検証)された楕円で
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 x64およびMacOSの上で起こります。
他のすべてのサポートされているAndroid NDKアーキテクチャは、このコマンドで完璧に正常に動作します(他のアーキテクチャのパスと-targetの入れ替え)。 i686、x86_64、aarch64、armv5te、armv6、およびarmv7-aは、Windows x64とmacOSの両方で動作します。
また、パスの前後に引用符/不要引用符の組み合わせを試しました。違いはありません。
この問題は、mips、mips64、mipsel、およびmips64elで発生します。
ありがとうございます。 他のアーキテクチャ、特に異なる環境で動作することは非常に奇妙です。それが私がこれを逃した理由だと思います。 –