1

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

4

1 に答える 1

2

.hsオブジェクトファイルを手動で指定すると、GHCi はそのオブジェクトファイルが何に依存しているのか、ファイルに対して何を実行できるのかを判断できませんimport ...

したがって、関連するすべての依存関係のオブジェクト ファイルを手動で追加する必要があります。この場合は、-package monad-controlGHCi を呼び出すときに を追加します。

于 2012-05-24T20:09:47.767 に答える