gpt4 book ai didi

c - 迪尔德 : lazy symbol binding failed: Symbol not found - nm reports symbol found

转载 作者:太空宇宙 更新时间:2023-11-03 16:11:09 26 4
gpt4 key购买 nike

这里是一个相当抽象的问题,因为我不知道从哪里开始我自己的调查。

我有一个用 CMake 构建的 C 包,它生成 librpdb.so;我为同一个库设置了一个 Ruby Gem,它生成 rpdb.bundle。

在 Ruby 中使用时,我得到这个:

dyld: lazy symbol binding failed: Symbol not found: _RPDB_RuntimeStorageController_sharedInstance
Referenced from: /usr/local/lib/ruby/gems/1.9.1/gems/rpdb-0.1.0/lib/rpdb/rpdb.bundle
Expected in: flat namespace

当我查看库时,nm 报告:

000000000000ea40 T _RPDB_RuntimeStorageController_sharedInstance

看来符号确实在库中。那么,为什么绑定(bind)会失败?

最佳答案

简单地说,链接并没有发生在第一个库的级别,尽管它没有报告那么多,因为标题是正确找到的。

More details regarding why this was occurring for my circumstances, here

and also, here

关于c - 迪尔德 : lazy symbol binding failed: Symbol not found - nm reports symbol found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315987/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com