【问题标题】:how do I use an object file created with Cabal?如何使用用 Cabal 创建的目标文件?
【发布时间】:2012-05-24 19:58:45
【问题描述】:

我有一个只能用 Cabal 编译的源文件。它是测试代码,过去(在我将 Haskell 环境复杂化之前)我会从 ghci 中运行函数。 我知道 ghci 可以使用目标文件来加载代码,但是当我尝试这样做时,会出现以下错误。那我错过了什么?

[mlitchard@Boris Boris_Test]$ ghci /home/mlitchard/Boris_Test/dist/build/Boris_Test/Boris_Test-tmp/Main.o

GHCi, version 7.4.1: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading object (static) /home/mlitchard/Boris_Test/dist/build/Boris_Test/Boris_Test-tmp/Main.o ... done
final link ... ghc: /home/mlitchard/Boris_Test/dist/build/Boris_Test/Boris_Test-tmp/Main.o: unknown symbol

monadzmcontrolzm0zi3zi1zi3_ControlziMonadziTransziControl_zdfMonadBaseControlIOIO_closure' linking extra libraries/objects failed

【问题讨论】:

    标签: haskell ghci


    【解决方案1】:

    当您手动指定目标文件时,GHCi 无法判断目标文件依赖于什么,而它可以使用 .hs 文件执行此操作,因为在这种情况下它可以访问 import ... 行。

    因此,您需要手动添加所有相关依赖项的目标文件,本例中在调用 GHCi 时添加-package monad-control

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-22
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      相关资源
      最近更新 更多