交叉编译工具32位在64位的Linux系统中编译

1. 问题描述

将交叉编译工具链拷贝到新的虚拟机(Ubuntu16系统)中发现出现编译工具文件不存在的报错。一开始以为是由于公司电脑加密,拷贝下来有问题,无法识别,最后和同事讨论,发现是系统和交叉编译工具的位数不相同的问题。
请添加图片描述

2. 问题原因

交叉编译工具链是32位的,编译的虚拟机是64位,需要安装32位的编译环境,需要安装依赖。

3. 解决办法

3.1 更新apt-get

sudo apt-get update

3.2 安装依赖包

sudo apt-get install gcc-multilib g+±multilib libc6:i386 libc6-dev-i386 -y

sudo apt-get install zlib1g:i386 zlib1g-dev:i386 libz1:i386 lib32ncurses5 lib32z1 -y

4. 如果还未解决

4. 1 确认你有一个bai64位架构的内核

你可以打开终端然后输入:
dpkg --print-architecture
你将会看到像下面这样的内容:
amd64
这说明着你已经拥有了64位架构内核。

4. 2 确认你打开了多架构支持功能

(多架构支持可以让你在有64位库的情况下使用32位库。)
输入:
dpkg --print-foreign-architectures
输出是:
i386
如果你还没有多架构支持你需要打开它。

4.3 打开多架构支持。

输入:
sudo dpkg --add-architecture i386
sudo apt-get update
然后就会开始下载更新然后运行。
之后你需要输入:
sudo apt-get dist-upgrade
它会检查你已经拥有的库文件是否有更新的版本。
有的话,它会问你是否需要更新(y/n)。
如此这般,你就已经成功地为你的64位系统安装了32位支持了。

4. 4 运行下述语句即可

sudo apt install lib32ncursesw5 lib32ncursesw5-dev -y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值