我有一个专门的共享库,在执行可执行文件期间动态加载。这个库提供了函数b()
。该函数又调用一个函数a()
。
该a
函数是在可执行文件中定义的,而不是库本身,所以我希望能够从库中调用我的一些可执行文件的代码。我已经设法使用该-undefined dynamic_lookup
标志使 clang 将这些符号保留为惰性绑定,但是当我尝试运行可执行文件时 dyld 仍然抱怨:
dyld: lazy symbol binding failed: Symbol not found: _a
Referenced from: /usr/local/lib/myLib.dylib
Expected in: flat namespace
我怎样才能得到这个符号链接?