Haskell 32位到64位的交叉编译

9

我只有一台运行Linux的x86_32机器,我在这台机器上编写了一个小的Haskell程序。

现在我需要提供一个x86_64 Linux二进制文件。

最简单/最不费力的方法是什么?


1
如果您的GHC设置为通过GCC进行编译,可以尝试传递“-optc“-m64””。 - Arnon
1个回答

4

借用或租用(例如EC2)一台x86_64的机器,以足够长的时间来编译您的程序。后者的成本大约为0.01美元。

如果不可能借用或租用机器,假设您有一个C交叉编译器到x86_64,您可以尝试按照此处的说明操作:https://ghc.haskell.org/trac/ghc/wiki/Building/CrossCompiling。然而就我所知,没有人尝试过这种方法,如果编译器的Int大小小于目标平台的字长,那么很可能存在问题。


1
或者,如果您更喜欢在本地完成所有操作,只需启动一个带有32位操作系统的QEMU实例。它可能不是最快的,但肯定非常容易。 - gspr
2
@gspr,我觉得你指的是64位操作系统,但是这显然比尝试交叉编译要容易得多。 - Reid Barton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接