Файл выполнения не может быть выполнен после кросс-компиляции на компьютере с архитектурой X86 (Ubuntu 16.04) и перемещен на доску (odroid, Ubuntu Mate 18.04) - PullRequest
0 голосов
/ 02 апреля 2019

Я новичок в архитектуре ARM.

Я хочу скомпилировать простой код на c (привет мир) и переместить исполнитель вывода на odroid xu4.(Ubuntu mate 18.04)

Но когда я перевожу его на одроид.Я получил это: bash: ./hello: No such file or directory

Я загружаю набор инструментов gcc-arm-8.3-2019.03-x86_64-arm-eabi.tar.xz из (https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads) и устанавливаю на свой компьютер x86_64 (Ubuntu16.04).

вот мой hello_world.c

#include <stdio.h>

int main()
{
  printf("Hello World\n");
  return 0;
}

Я компилирую с этим cmd:

$ arm-linux-gnueabi-gcc hello_world.c -o hello

Вот результат file hello

hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 3.2.0, BuildID[sha1]=f80d3d5cecbb2d688b978a6c889613f158dda657, not stripped

вот обычная сборка исполнителя на odroid-xu4 его собственным компилятором

hello: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib, for GNU/Linux 3.2.0, BuildID[sha1]=697300990ba7610219175192f540cdd7411caa84, not stripped

Спасибо!

...