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

ghc 7.6.3 not generating _stub.c and _stub.o

本文关键字:stub GHC      更新时间:2023-10-16

我正在学习如何从库中调用c++调用haskell代码,我遵循FFI完整示例的说明http://www.haskell.org/haskellwiki/FFI_complete_examples

然而,在 之后
ghc -v Foo.hs

只创建了Foo_stub.hFoo.o,没有Foo_stub.cFoo_stub.o。根据从C调用Haskell, 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++

(在阅读完这个问题后:用haskell构建一个动态库,并在c++中使用它)

,但我想知道它仍然可能使用g++链接?

您正在查看一个过时的示例(它使用ghc 6.12.3)。这个例子适用于7.6.3:

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