64位ubuntu编译32位程序

| linux, 笔记

因为想编译C4,而64位机器需要gcc后面加-m32选项,但是结果编译错误了。解决方法如下。

首先确定是64位系统。

root@sdlyyxy:~# dpkg --print-architecture
amd64

然后查看是否开启了多架构支持功能。

root@sdlyyxy:~# dpkg --print-foreign-architectures
i386

如果没有开启,需要手动开启并apt更新。

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

最后安装gcc multilab

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

然后gcc -o c4 -m32 c4.c就可以编译出可执行文件了。

参考链接

64位ubuntu编译32位程序