是否有可能生成独立的haskell可执行文件

时间:2013-04-22 14:43:05

标签: linux haskell executable ghc

有没有办法生产独立的haskell可执行文件,以便在不同的Linux机器上运行,假设架构类似?

对不起我应该更清楚了。其他机器可能没有安装ghc - 有点像python的pyinstaller是我正在寻找的?

2 个答案:

答案 0 :(得分:11)

在编译Haskell项目时,您可以使用标志-static -optl-pthread -optl-static来避免动态链接的依赖项。这应该可以帮助您在两台没有完全相同库版本的Linux机器上运行已编译的可执行文件。

答案 1 :(得分:4)

是的,这是可能的。就像使用gcc生成的二进制文件一样,您可以在系统之间复制它们,假设动态库和平台匹配。

实际上,这比GCC二进制文件略高,因为GHC默认会动态链接更多的库(例如:libgmp,除非你使用整数简单构建GHC)。