【发布时间】:2021-09-12 20:59:08
【问题描述】:
我正在尝试使用 crostool-ng 为我的 Raspberry Pi 3b+ 交叉编译 C 代码。我正在使用 M1 芯片 Mac 并尝试在 Ubuntu 虚拟机(Parallels)中交叉编译我的代码。
我使用buildroot 编译了我自己的内核,并使用crostool-ng. x-tools 创建了一个工具链,这是我在//home/parallels/x-tools 创建的工具链,我正在尝试交叉编译一个简单的代码只是打印
Hello World 位于我的桌面。我试过arm-unknown-linux-gnueabi-gcc -o deneme test.c 并得到了这个:deneme: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 5.12.12, with debug_info, not stripped 文件。如果我将它发送到我的目标 rasppi 并尝试使用./deneme 运行它,我会收到此错误:-sh: ./deneme: not found 。我确定它们在同一个目录中。现在,我正在使用aarch64,但我尝试使用armv71,但它也不起作用。如果这还不够,请询问更多信息。
我的树莓派型号:3b+。
主机:Mac m1芯片。
Raspberry Pİ ARM:AArch 64 (Little Endian)
Crosstool-ng 工具链选项:
目标架构:ARM
字节序:小字节序
位数:32
操作系统:Linux
【问题讨论】:
-
二进制文件
deneme是否有执行权限? -
你的目标机器有
/lib/ld-linux.so.3吗?
标签: c linux raspberry-pi arm cross-compiling