作者:粅媞em亼啡 | 来源:互联网 | 2022-12-11 10:20
我想创建一个Haskell Stack包,其中包含另一个Haskell Stack包extra-dep
.有问题的是,我试图包含的包是使用Haskell的FFI绑定到某些C代码.
如果我只是stack unpack
和stack build
那个包(HasCacBDD)它工作得很好,但当我把它包含在一个extra-dep
堆栈抱怨丢失的库.
望着Setup.hs
那原包的,我看到它基本上创建了一个叫做静态库libHasCacBDD.a
,并将其放在正确的文件夹里面.stack-work
的路径为它进行连接.当我将它包含在我自己的项目中时,这个库正好是一个错误.
仔细查看.stack-work
我自己项目的文件夹,我看到提到libHasCacBDD.a
的确实在隐藏在某个地方的目录中.幸运的是,库正在构建正确但我的项目找不到它.
官方的Haskell Stack文档说明了在这种情况下该怎么做,但我认为它不够具体,无法给我一个满意的答案.
我需要做的是指定libHasCacBDD.a
存储库的路径作为extra-lib-dirs
选项.然而,我不知道如何以独立于平台的方式做到这一点(如果我在计算机中对路径进行硬编码,它将在其中工作,并且在这种情况下执行包的重点是什么).
我在Github上创建了一个问题,其中包含有关详细信息的更多信息.
有什么建议?