0

x86で実行されているUbuntu 12.04でプログラムをクロスコンパイルし、ターゲットアーキテクチャがARMの代わりにandを使用gcc-arm-linux-gnueabibinutils-arm-linux-gnueabiてコンパイルしました。エラーや警告なしで正常にコンパイルされます。arm-linux-gnueabi-gccgcc

ARM マシン (Pandaboard - Ubuntu 12.04 も実行) で実行しようとすると、次のようになります。

bash: ./sttyl: No such file or directory

私はファイルがそこにあり、適切な権限を持っていることを知っています:

-rwxrwxr-x 1 haziz haziz 8.5K Feb 10 10:34 sttyl

の出力file sttyl

sttyl: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31,BuildID[sha1]=0x6d504f7d84b93603122223a89e2b5960c840309f, not stripped

Pandaboard でネイティブにコンパイルすると、正常にコンパイルおよび実行されます。これはfile sttyl、ネイティブにコンパイルされたコピーの出力です。

sttyl: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31,BuildID[sha1]=0x9897c785266c5b7cdf580e08091aba239db84ecf, not stripped

私は何を間違っていますか?さらに、もし私がクロスコンパイルを間違えていたら、シェル/カーネルが、実行可能ファイルが存在しないのではなく、間違ったアーキテクチャ用であると効果的に教えてくれることを期待していたでしょう!

4

1 に答える 1

1

それが存在しないと言っているので./sttylはありません。

エラーで終了した新しいプロセスを生成したことを示していますNo such file or directory。どのファイルまたはディレクトリが欠落しているかについての情報は提供されません。

たとえば、 で始まるシェル スクリプトは、スクリプトが存在して実行可能であったとしても#!/bin/specialsh、インタープリター/bin/specialshが見つからない場合にそのエラーを生成する可能性があります。

を使用straceして、エラーの原因となった呼び出し (およびパス) を見つけてください。

于 2013-02-10T16:25:09.587 に答える