链接额外的库/对象失败 我对C++ + unordeDMAP(A.K.HasyMax)容器及其包装库进行了FFI绑定,称为 LBSTL.A/COD>。 在第一次,它曾经工作得很好。但经过一段时间后,它无法将库与以下错误消息链接起来,我无法找出原因 $ ghci -L. -lstl -lstdc++ GHCi, version 7.6.2: 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 archive) ./libstl.a ... done Loading object (dynamic) /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.so ... done final link ... ghc: ./libstl.a: unknown symbol `_ZZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEmE10__fast_bkt' linking extra libraries/objects failed
库的源代码位于中。链接额外的库/对象失败 我对C++ + unordeDMAP(A.K.HasyMax)容器及其包装库进行了FFI绑定,称为 LBSTL.A/COD>。 在第一次,它曾经工作得很好。但经过一段时间后,它无法将库与以下错误消息链接起来,我无法找出原因 $ ghci -L. -lstl -lstdc++ GHCi, version 7.6.2: 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 archive) ./libstl.a ... done Loading object (dynamic) /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++.so ... done final link ... ghc: ./libstl.a: unknown symbol `_ZZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEmE10__fast_bkt' linking extra libraries/objects failed,haskell,ffi,ghci,Haskell,Ffi,Ghci,库的源代码位于中。 任何帮助都将不胜感激。我在将.o文件加载到ghci时遇到类似问题。据我所知,问题是g++在.o文件中留下了“弱符号”,而ghci对它们处理得不是很好 我找到了一条关于它的线索,并进行了有益的跟进: 其中建议的解决方案是将g++编译的所有内容放入共享库(.so文件而不是.a),这似乎可以解决弱符号问题。共享库可能有点麻烦。我建议您看看libtool。这是一个助手程序,可以处理许多复杂问题: 我已经有一段时间没有看到这个了。我不认为脱衣舞有什么帮助,但我不是100%确定。GHC
任何帮助都将不胜感激。我在将.o文件加载到ghci时遇到类似问题。据我所知,问题是g++在.o文件中留下了“弱符号”,而ghci对它们处理得不是很好 我找到了一条关于它的线索,并进行了有益的跟进: 其中建议的解决方案是将g++编译的所有内容放入共享库(.so文件而不是.a),这似乎可以解决弱符号问题。共享库可能有点麻烦。我建议您看看libtool。这是一个助手程序,可以处理许多复杂问题:
我已经有一段时间没有看到这个了。我不认为脱衣舞有什么帮助,但我不是100%确定。GHC 7.8及更高版本似乎能够加载带有弱符号的库,因此它们没有这个问题。