【发布时间】: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