ubuntu 64位運行32位程序

64位ubuntu編譯32位程序

 

如上使用C4這個小工具時遇到來須要仿真32位系統的需求,發現使用-m32參數後,編譯提示錯誤,以下:html

/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位的支持linux

第一步:確認64爲架構的內核ubuntu

dpkg --print-architecture

輸出:
adm64

說明已擁有64位架構內核。架構

第二步:確認打開了多架構支持功能工具

dpkg --print-foreign-architectures

輸出:
i386

說明已打開,若是沒有須要手動打開es5

打開多架構支持spa

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get dist-upgrade

如此這般你就擁有了64位系統對32位的支持code

其次是安裝gcc multilabhtm

 apt-get install gcc-multilib g++-multilib

運行32位須要安裝的庫blog

sudo apt-get install lib32ncurses5    lib32z1