実行可能ファイルの実行中に動的にロードされる特殊な共有ライブラリがあります。このライブラリは、関数を提供します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
このシンボルをリンクするにはどうすればよいですか?