我按照以下URL中的指示为Linux构建了gcc编译器:
https://solarianprogrammer.com/2016/10/07/building-gcc-ubuntu-linux/
生成的编译器可以毫无问题地构建64位代码。
但是,当我尝试构建32位代码(通过指定-m32编译器选项)时,出现错误。
这是我得到的错误:
很明显,当我构建编译器时,我做错了什么-谁能告诉我我做错了什么以及如何重建编译器以构建32位和64位代码。
答案 0 :(得分:3)
您至少需要在configure命令行上使用--with-multilib-list=m32,m64
进行配置。 1 您肯定需要不使用--disable-multilib
进行配置。您可能还需要构建和安装其他库的其他版本。
通常,在文档中搜索“ multilib”将为您展示所有有关构建或使用带有多个目标ABI的gcc的地方。
1 这是至少某些gcc版本的默认设置。如果您想尝试,也可以添加mx32
。