Haskell坏接口文件
我试图将我的Haskell项目拆分为一个库和一组依赖于该库的可执行文件。当我现在尝试编译时,出现以下错误:Haskell坏接口文件,haskell,Haskell,我试图将我的Haskell项目拆分为一个库和一组依赖于该库的可执行文件。当我现在尝试编译时,出现以下错误: src/Main.hs:23:0: Bad interface file: /Users/<MyHomeDir>/.cabal/lib/Core-0.0.1/ghc-6.12.1/<MyModule>.hi mismatched interface file ways (wanted "", got "p") src/Main.hs:23:
src/Main.hs:23:0:
Bad interface file: /Users/<MyHomeDir>/.cabal/lib/Core-0.0.1/ghc-6.12.1/<MyModule>.hi
mismatched interface file ways (wanted "", got "p")
src/Main.hs:23:0:
错误的接口文件:/Users/.cabal/lib/Core-0.0.1/ghc-6.12.1/.hi
接口文件方式不匹配(需要“”,获得“p”)
我相信p可能是与ghc包相关的p标志。这是正确的吗?我是否需要在我的cabal文件的某个地方添加更多配置选项以支持此功能?这意味着它找到了一个分析构建,但您正在构建
Main.hs
,而没有启用分析功能。快速修复:
- 在
Main.hs的生成中启用评测
- 在启用评测的情况下构建和安装
$runghc Setup.hs configure--启用库评测在使用动态链接编译可执行文件时,我遇到了类似的问题 我通过调用
cabal安装--ghc option=-dynamic pkg
编译了一个库和可执行文件
可执行文件是用动态链接构建的,但库部分不可用
我假设使用--ghc option=-dynamic
选项会导致库的静态版本也使用动态链接构建
由于Cabal-1.14,我可以使用正常工作的--enable executable dynamic
选项