可以在OS X上静态链接Haskell应用程序吗?

可以在OS X上静态链接Haskell应用程序吗?,haskell,Haskell,我不太熟悉任何语言中的静态链接,但我正在尝试静态链接Haskell程序,以便在其他Mac上使用。我已经设法在Linux上进行静态链接,并通过使用以下选项确认它在其他Linux机器上工作:-O2-static-optl static-optl pthread 当我尝试在OS X上使用这些选项时,出现以下错误: ld: library not found for -lcrt0.o collect2: ld returned 1 exit status 知道怎么回事吗?我是在做一些完全疯狂的事情吗?

我不太熟悉任何语言中的静态链接,但我正在尝试静态链接Haskell程序,以便在其他Mac上使用。我已经设法在Linux上进行静态链接,并通过使用以下选项确认它在其他Linux机器上工作:
-O2-static-optl static-optl pthread

当我尝试在OS X上使用这些选项时,出现以下错误:

ld: library not found for -lcrt0.o
collect2: ld returned 1 exit status

知道怎么回事吗?我是在做一些完全疯狂的事情吗?

社区维基对后代的回答,来源于以下评论:

通常,OSX可执行文件动态链接到系统提供的库;静态链接远不如Linux上常见。您可以在可执行文件上运行
otool-Lv
,查看它动态加载了哪些库。如果它们都在
/usr/lib
/System/Frameworks
中,并且不是您安装的东西,那么您可能已经没事了


事实上,根据,mac系统库的静态链接是不允许的。

有没有什么特定的东西让你认为你需要静态链接,只是为了在不同的计算机上运行你的可执行文件?通常,OSX可执行文件动态链接到系统提供的库;静态链接远不如Linux上常见。您可以在可执行文件上运行
otool-Lv
,查看它动态加载了哪些库。如果它们都在
/usr/lib
/System/Frameworks
中,并且不是您安装的东西,那么您可能已经没事了。我不知道。它所链接的所有库似乎都位于/usr/lib中。杰出的我想我应该保持开放,因为这可能仍然是一个有效的问题,但我会更新这个问题。我应该说“这基本上从未做过”,而不是“远不常见”。我明白了。不过我不知道该怎么处理这个问题。你的评论似乎是可以接受的答案。如果你想把它变成一个,我会接受它(因为它确实回答了我的问题)。@KurtRevis我同意你的评论是这个问题的正确答案。