我正在尝试将Haskell源包编译为与OCaml代码一起使用的动态库。我尝试在源代码的.cabal文件中使用--enable-shared
选项和cabal install
,但出现Perhaps you haven't installed the "dyn" libraries for package 'zeromq4-haskell-0.6.5'
错误。经过一番谷歌搜索后,我意识到依赖关系也必须编译为动态库。我下载了zeromq的源代码包,并尝试使用--enable-shared
选项安装zeromq软件包。这次我得到了一个与zeromq依赖关系类似的错误。我尝试这样做4-5次,并在每个级别获得一个不同依赖的错误。
我在这里弄错了吗?如何将所有依赖项安装为动态库?
谢谢!
答案 0 :(得分:1)
如果您通常希望拥有共享库,则可以在.cabal/config
:
shared: True
但是,它只会影响之后安装的库,因此您可能希望清除所有库并重新开始。
如果这只是一次性的,您可以为此目的创建一个cabal沙箱:
cd yourlib
cabal sandbox init
cabal install --enable-shared
结果将在目录.cabal-sandbox
。