ghc 7.6.3不生成_stub.c和_stub.o

时间:2014-03-27 17:51:42

标签: c++ c haskell

我正在学习如何从库中调用C ++调用haskell代码,我按照FFI完整示例http://www.haskell.org/haskellwiki/FFI_complete_examples

的说明进行操作 然而,在

之后
ghc -v Foo.hs

仅创建了Foo_stub.hFoo.o,没有Foo_stub.cFoo_stub.o。根据{{​​3}},ghc> 7.2不再生成_stub.o

在这种情况下,我是否还需要stub.o来链接可执行文件使用g ++

之后的那一刻
g++ -o test Foo.o test.o `cat link_options`

我为hs_init等获取了大量未定义的符号错误。是因为_stub.o不存在还是缺少其他东西?

我可以使用ghc正确链接它们:

ghc -no-hs-main -o test test.o Foo.o -lstdc++

(阅读此问题后:Calling Haskell from C

但我想知道是否仍然可以使用g ++进行链接?

1 个答案:

答案 0 :(得分:1)

你正在看一个过时的例子(它使用的是ghc 6.12.3)。此示例适用于7.6.3:

http://www.haskell.org/haskellwiki/GHC/Using_the_FFI