win10版本1803
Ubuntu 18.04.3 LTS \n \l
当我安装完arm-linux-gcc交叉编译器后,设置好环境变量,之后执行arm-fsl-linux-gnueabi-gcc命令,系统报错如下:
-bash: /opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gcc: cannot execute binary file: Exec format error
这种问题主要发生在 64位系统上,原因是大多数交叉编译器为了适应性,通常以32位发布,而实际系统是64位的,存在架构差异,所以不能执行。
然后我尝试安装32位兼容库:
sudo apt-get install lib32ncurses5 sudo apt-get install lib32z1
结果依旧报错。
后来谷歌才发现,WSL上无法运行ELF 32-bit LSB executable 等32位程序。坑,超级坑。
在这里有官方说明 :
https://github.com/Microsoft/BashOnWindows/issues/390