有没有办法生产独立的haskell可执行文件,以便在不同的Linux机器上运行,假设架构类似?
对不起我应该更清楚了。其他机器可能没有安装ghc - 有点像python的pyinstaller是我正在寻找的?
答案 0 :(得分:11)
在编译Haskell项目时,您可以使用标志-static -optl-pthread -optl-static
来避免动态链接的依赖项。这应该可以帮助您在两台没有完全相同库版本的Linux机器上运行已编译的可执行文件。
答案 1 :(得分:4)
是的,这是可能的。就像使用gcc生成的二进制文件一样,您可以在系统之间复制它们,假设动态库和平台匹配。
实际上,这比GCC二进制文件略高,因为GHC默认会动态链接更多的库(例如:libgmp,除非你使用整数简单构建GHC)。