win10 linux子系統運行32位程序(32bit交叉編譯工具鏈)

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的交叉編譯工具鏈便能正常使用了: 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章