将 haskell 源代码编译为动态库
Compiling haskell source as dynamic library
我正在尝试将 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 次,但在每个级别都出现了不同依赖项的错误。
我是不是搞错了?我怎样才能将所有依赖项安装为动态库?
谢谢!
如果您通常想要共享库,可以在 .cabal/config
:
中永久启用它
shared: True
但是,它只会影响之后安装的库,因此您可能需要清除所有库并重新开始。
如果这只是一次尝试,您可以为此创建一个 cabal 沙箱:
cd yourlib
cabal sandbox init
cabal install --enable-shared
结果将在目录 .cabal-sandbox
.
中
我正在尝试将 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 次,但在每个级别都出现了不同依赖项的错误。
我是不是搞错了?我怎样才能将所有依赖项安装为动态库?
谢谢!
如果您通常想要共享库,可以在 .cabal/config
:
shared: True
但是,它只会影响之后安装的库,因此您可能需要清除所有库并重新开始。
如果这只是一次尝试,您可以为此创建一个 cabal 沙箱:
cd yourlib
cabal sandbox init
cabal install --enable-shared
结果将在目录 .cabal-sandbox
.