適用於 Windows 的 Linux 子系統下 Ubuntu 14.04.5 LTS 上的交叉編譯器

適用於 Windows 的 Linux 子系統下 Ubuntu 14.04.5 LTS 上的交叉編譯器

我正在嘗試構建並運行我的交叉編譯器(32 位),但我無法執行二進位文件,我得到一個執行格式錯誤

filereadelf聲稱它是 32 位可執行文件,但ldd不同意。我在這裡缺少什麼?相同的程序適用於基於 RedHat 的主機。

$ ./arm-none-linux-gnueabi-gcc -v
bash: ./arm-none-linux-gnueabi-gcc: cannot execute binary file: Exec format error

$ ldd arm-none-linux-gnueabi-gcc
not a dynamic executable

$ file arm-none-linux-gnueabi-gcc
arm-none-linux-gnueabi-gcc: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, stripped

$ cat /etc/issue
Ubuntu 14.04.5 LTS \n \l

答案1

https://wpdev.uservoice.com/forums/266908-command-prompt-console-bash-on-ubuntu-on-windo/suggestions/13377507-please-add-32-bit-elf-support-to-the-核心

這就是答案。 32 位元預編譯二進位檔案不能在 Linux 的 linux 子系統下運作。

相關內容