64位ubuntu編譯32位程式
阿新 • • 發佈:2019-01-07
如上使用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