我正在学习如何从库中调用C++调用haskell代码,我遵循FFI完整示例示例的说明
然而,之后
ghc -v Foo.hs只创建Foo_stub.h和Foo.o,没有Foo_stub.c或Foo_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++进行链接?
发布于 2014-03-28 05:24:08
您正在查看一个过时的示例(它使用的是ghc 6.12.3)。此示例适用于7.6.3:
费伊
https://stackoverflow.com/questions/22695436
复制相似问题