1. 遇到的問題
使用win10 linux子系統執行32位交叉編譯工具鏈時提示Exec format error,如下圖所示:
2. 解決辦法
由於子系統是64位系統,按照常規ubuntu64位系統運行32位程序方法,添加 32bit 運行環境:
https://blog.csdn.net/fangye945a/article/details/86568216
該方法在虛擬機Ubuntu中能解決,但是在linux子系統上同樣報 Exec format error,無法解決問題。
後參考大佬博客https://www.cnblogs.com/JiuHuan/p/10073632.html 找到原因及解決辦法
主要原因是:子系統不支持原生linux文件頭。
需要添加原生linux形式文件頭支持:
sudo apt update
sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff'
執行完成後32bit的交叉編譯工具鏈便能正常使用了: