64位Linux系统编译32位汇编程序
64位Linux系统编译32位汇编程序的时候需要仿真32位系统的需求,发现使用-m32参数后,编译提示错误,如下:/usr/bin/ld: 未知的仿真模式: 32支持的仿真: elf_x86_64 elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om i386pep i386pecollect2: error: ld returned 1
·
64位Linux系统编译32位汇编程序的时候需要仿真32位系统的需求,发现使用-m32参数后,编译提示错误,如下:
/usr/bin/ld: 未知的仿真模式: 32
支持的仿真: elf_x86_64 elf32_x86_64 elf_i386 i386linux elf_l1om elf_k1om i386pep i386pe
collect2: error: ld returned 1 exit status
首先要打开64位系统对32位的支持
第一步:确认64为架构的内核
dpkg --print-architecture
输出:
adm64
说明已拥有64位架构内核。
第二步:确认打开了多架构支持功能
dpkg --print-foreign-architectures
输出:
i386
说明已打开,如果没有需要手动打开
打开多架构支持
sudo dpkg --add-architecture i386
sudo apt -get update
sudo apt-get dist-upgrade
如此这般你就拥有了64位系统对32位程序的支持
其次是安装gcc multilab
apt-get install gcc-multilib g++-multilib
更多推荐
已为社区贡献1条内容
所有评论(0)