проблема кросс-компиляции с простой программой hello - PullRequest
3 голосов
/ 26 сентября 2011

Справочная информация: Попытка настроить среду кросс-компиляции для arm target (TQ2440 / Mini2440)

На HOST, работающем в Red Hat:

  1. Написал простую привет программу
  2. gcc -o hello hello.c
  3. успешно компилируется
  4. ./hello
  5. отображает сообщение hello world
  6. rm hello
  7. arm-linux-gcc -o hello hello.c
  8. file hello
  9. Там написано 32bit compiled for ARM compatible for Linux 2.0.0

Передать двоичный файл "привет" в TARGET

  1. chmod a+x hello
  2. ./hello
  3. Проблема:

    /bin/sh: ./hello: not found
    

Кто-нибудь может указать на мою ошибку или что я здесь упускаю?


Я выполнил ldd на хосте: ldd hello и получил:

/usr/local/arm/3.3.2/bin/ldd: line 1:  
/usr/local/arm/3.3.2/lib/ld-linux.so.2: cannot execute binary file 
/usr/local/arm/3.3.2/bin/ldd: line 1: 
/usr/local/arm/3.3.2/lib/ld-linux.so.2: cannot execute binary file 
ldd: /usr/local/arm/3.3.2/lib/ld-linux.so.2 exited with unknown exit code (126)

Ответы [ 2 ]

3 голосов
/ 28 сентября 2011

Решено.

Я передавал файл через ftp.Вам необходимо ввести bin , чтобы переключиться в режим двоичной передачи.Работает нормально сейчас.

1 голос
/ 26 сентября 2011

Попробуйте запустить ldd hello и посмотрите, не жалуется ли он на отсутствующие динамические библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...