【问题标题】:Cross-building 64bit userspace program on 32bit CentOS (RHEL) 6在 32 位 CentOS (RHEL) 6 上交叉构建 64 位用户空间程序
【发布时间】:2014-04-01 16:50:16
【问题描述】:

我有一台基于 CentOS6 的 32 位开发机器,已根据我的需要正确配置,但现在必须编译部分代码以在 64 位 Linux 上使用。它是关于一个原生库 (.so)。

使用我的 32 位 CPU 和 32 位操作系统,我尝试为 64 位操作系统环境编译库。因此,为了获得合适的工具,我安装了 RPM 包 x86_64-linux-gnu-gcc 和 binutils-x86_64-linux-gnu。我现在使用 x86_64-linux-gnu-gcc 而不是 gcc,但编译失败。

此外,在读取包的元信息时,我得到以下文本:

目前仅支持构建内核。支持 目前不提供交叉构建用户空间程序,因为 会大大增加包裹的数量。

现在我的问题是:

  • 在现有的 32 位构建系统上交叉编译 64 位二进制文​​件是否有意义,或者生成的代码在 64 位机器上运行时可能会出现问题?
  • 是否有与 CentOS6 兼容的第三方软件包,提供缺少的用户空间支持,安装的软件包是否缺失?

【问题讨论】:

  • 安装 64 位 CentOS。我相信这是解决您的问题的最简单、最简单、最快、最不痛苦的方法。

标签: c linux gcc centos cross-compiling


【解决方案1】:

好的,同时我们安装了一个 64 位的 CentOS。当然,安装所需的构建工具很容易针对 x86_64 进行编译 ;-)

【讨论】:

    猜你喜欢
    • 2016-11-08
    • 2012-07-20
    • 2014-07-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-15
    • 2018-04-06
    相关资源
    最近更新 更多