Jer*_*rry 6 compiler-construction dll linker haskell static-linking
如何编译(Haskell)程序以便它不需要DLL?
我写了一个使用GLUT并需要glut32.dll的程序.我编译了它ghc --make program.hs
.现在我想分发我的程序,但我不希望它需要任何DLL(因此我可以将.exe提供给用户).我尝试编译,ghc -static --make program.hs
但它没有工作,我仍然得到"用户错误(未知的GLUT条目glutInit)".
我怎样才能做到这一点?
只有当 GLUT 提供库的静态版本时,这才是可能的(可以将其命名为类似的名称glut32s.lib
,但不要求他们特别调用它)。
这种方法的成功还取决于 GHC 是否允许与外部静态库链接。的手册页ghc
表明-static
仅适用于 Haskell 库,不适用于其他外部库。