1

私は開発キット (Altera Cyclon V、Cortex A9) を持っていて、その上で簡単なアプリを実行しようとしています。ARM Linux 用のコードをクロス コンパイルするために cygwin を使用しています (Linux 用の soureforge ツールチェーンを使用)。

手順 :

  1. cygwin 内でビルド: arm-linux-gcc dd.c -s -mcpu=cortex-a9 -s -o ddb
  2. ddb をターゲットにコピーし、chmod a+x
  3. 実行すると、「./ddb: No such file or directory」が表示されます。おそらくlib\tools間の不一致ですが、私はLinuxが初めてです( QNX から来ています)。

ターゲットは実行中です:

   root@socfpga:~/altera# cat /proc/version 
   Linux version 3.9.0 (jdasilva@sj-interactive3) (gcc version 4.7.3 20121106 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2012.1
   1-20121123 - Linaro GCC 2012.11) ) #1 SMP Fri Sep 27 22:55:43 PDT 2013

私のアプリのファイルデータ:

 ddb: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared
 libs), for GNU/Linux 2.6.33, stripped

target で実行されるサンプル hello_world のファイル データ:

 hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (use
 s shared libs), for GNU/Linux 2.6.31, BuildID[sha1]=0x2e8fbebd0bdab5897c0c65fb6b
 563f3c34a16eb1, stripped

異なる DLL が使用されていることがわかります ( 2.6.31 対 2.6.33 )。

どうすればこれを解決できますか?

4

2 に答える 2

1

ARMバイナリをARM Androidデバイスにコピーしようとしたときに、以前にその問題が発生しました。

あなたはそれを解決しましたが、どちらにしても、これは私が見つけたものです. 問題は共有ライブラリでした。ターゲットに存在しないライブラリをロードしようとしています。「ファイルが見つかりません」というエラーは非常に誤解を招くものです。

関連する質問と回答:

「そのようなファイルまたはディレクトリはありません」ですが、存在します

于 2013-12-11T04:50:38.967 に答える
0

64<>32ビットの問題である可能性があります。これを見る

于 2016-01-12T08:45:51.303 に答える