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  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM