11

假设架构相似,是否有任何方法可以生成独立的 haskell 可执行文件以在不同的 linux 机器上运行?

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

4

2 回答 2

12

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

于 2013-04-22T15:10:05.893 回答
5

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

实际上,这比 GCC 二进制文件略高,因为默认情况下 GHC 将动态链接更多库(例如:libgmp,除非您使用 integer-simple 构建 GHC)。

于 2013-04-22T15:00:52.703 回答