【发布时间】:2011-11-26 18:55:20
【问题描述】:
是否可以在 32 位 Linux 平台上使用 gcc 编译 64 位二进制文件?
【问题讨论】:
-
harper89:这是一个非常无用的论坛帖子。
是否可以在 32 位 Linux 平台上使用 gcc 编译 64 位二进制文件?
【问题讨论】:
如果您安装了 multilib GCC,只需在命令行中添加 -m64 即可。如果编译器不支持 multilib,编译器应该会报错。
要进行链接,您需要标准库的所有 64 位对应项。如果您的发行版有一个 multilib GCC,这些也应该在存储库中。
【讨论】:
如果-m64 选项不起作用,请进入 Synaptic 并搜索 gcc-multilib 或 g++-multilib 并安装软件包。然后,使用-m64 选项进行编译。
【讨论】:
您需要一个可以在 64 位机器上编译的 gcc,例如x86_64-linux-gcc。检查您的分发包管理器。
【讨论】:
我想你可以先安装gcc-multilib 包。
然后使用gcc -m64 yourcode编译你的代码,你可以使用file yourprogram检查ELF文件,输出应该是这样的
yourprogram: ELF 64-bit LSB executable,.......
【讨论】: