繁体   English   中英

如何在Linux上构建一个构建32位和64位代码的gcc编译器

[英]How to build a gcc compiler on Linux that builds both 32-bit and 64-bit code

我按照以下URL中的说明为Linux构建了一个gcc编译器:

https://solarianprogrammer.com/2016/10/07/building-gcc-ubuntu-linux/

生成的编译器构建64位代码没有问题。

但是,当我尝试构建32位代码时(通过指定-m32编译器选项),我得到错误。

以下是我得到的错误:

  1. 找不到-lstdc ++
  2. 找不到-lgcc_s
  3. 在搜索foor -lgcc时跳过不兼容的libgcc.a
  4. 找不到-lgcc

显然,当我构建编译器时,我做错了 - 任何人都可以告诉我我做错了什么以及如何重建编译器来构建32位和64位代码。

您至少需要在configure命令行上使用--with-multilib-list=m32,m64进行配置。 1你一定要不能与配置--disable-multilib 您可能还需要构建和安装其他库的其他版本。

通常,在文档中搜索“multilib”会向您显示有关构建或使用具有多个目标ABI的gcc的所有地方。


1 这是至少某些版本的gcc的默认值。 如果你想试验它,你也可以添加mx32

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM