2

FFIを使用してC関数にバインドするモジュールがあります。このモジュールを使用するにはどうすればよいdoctestですか?

実行中に発生するエラーdoctest Foo.hsは次のようなものです。

ByteCodeLink: can't find label
During interactive linking, GHCi couldn't find the following symbol:
  bar
This may be due to you not asking GHCi to load extra object files,
archives or DLLs needed by your current session.  Restart GHCi, specifying
the missing library using the -L/path/to/object/dir and -lmissinglibname
flags, or simply by naming the relevant files on the GHCi command line.
Alternatively, this link failure might indicate a bug in GHCi.
If you suspect the latter, please send a bug report to:
  glasgow-haskell-bugs@haskell.org

### Failure in Foo.hs:41: expression `foo'
expected: [42]
 but got: 
          <interactive>:24:1: Not in scope: `bar'
Examples: 2  Tried: 2  Errors: 0  Failures: 1
4

1 に答える 1

2

Doctestは任意のGHCフラグを受け入れます。FFIコードを使用してDoctestを実行する場合は、そのコードを使用してGHCiセッションを実行する必要があるのとまったく同じフラグを渡す必要があります。たとえば、のDoctestドライバをunix-time見てください。

于 2013-04-01T09:07:57.563 に答える