堆栈静态链接mac上的外部库

时间:2017-11-24 14:06:51

标签: haskell zeromq haskell-stack

我真的想为我的应用程序创建一个单独的二进制文件,但它依赖于libzmq并且我在OSX上构建,有没有人设法在mac上正确连接外部库?

1 个答案:

答案 0 :(得分:1)

我做了类似于lua的事情。我的方法是将完整路径传递给静态库到ghc。在cabal文件中:

if os(darwin)
  ghc-options: /usr/local/lib/liblua5.1.a

根据documentation,ghc会将其传递给链接器:

  

带有其他后缀(或没有后缀)的文件会直接传递给   链接器。

但是,如果库在您依赖的其他包中使用,则它不起作用。所以如果你正在使用例如zeromq4-haskell包,然后您需要在本地修改它。