我使用gcc myprogram.c -o myprogram -Wall -Werror
在Fedora中编译一个程序,然后将二进制myprogram
加载到我使用qemu运行的openwrt图像的存储中。然后在 openwrt 映像中,我尝试使用./myprogram
运行二进制文件,我得到/bin/ash: ./myprogram: not found.
我该如何解决这个问题?
您需要使用工具链来使用映像中的相同库进行编译(或者如果可能的话,在 QEMU 中编译它(。即使QEMU运行x86_64
,正如我怀疑在您的主机上一样,您也应该使用工具链(例如,您的主机和OpenWRT可以使用不同的libc/musl版本 - OpenWRT主要带有musl库(
请参考此网址 在这里,您将找到最新稳定的OpenWRT映像[19.07.1]的工具链。