2016-10-07 2 views
0

私は、次のコマンド(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で発生します。

答えて

1

-gcc-toolchain E:/Android/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64

GCCツールチェーンは、ClangではなくGCCツールチェーンを指す必要があります。なぜ私は他のアーキテクチャのどれが働いているのか分かりません。おそらくClangは組み込みアセンブラを使用していますが、それでもリンカがどこにあるのか説明していません。

https://android.googlesource.com/platform/ndk/+/master/docs/user/standalone_toolchain.mdに興味があります。コンパイラがこのように正しく使用できるかどうかの詳細を処理します。

+0

ありがとうございます。 他のアーキテクチャ、特に異なる環境で動作することは非常に奇妙です。それが私がこれを逃した理由だと思います。 –

関連する問題