64位ubuntu编译32位程序

64位ubuntu编译32位程序 如上使用C4这个小工具时遇到来需要仿真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 

原文地址:https://www.cnblogs.com/wangshenyang/p/5781114.html