カスタムの静的フレームワークを使用して、A、B、C などのモジュールをパッケージ化します。A は基盤レイヤーであるため、B と C は A に依存し、すべて「セマフォ」という名前の A のシンボルを使用します。
ここで、A、B、C をアプリ「DemoX」に追加します。リンク時にエラーが発生した場合、DemoX は B と C のみを直接使用します。
変更: DemoX は、A を直接使用する静的ライブラリ "libM" に依存します。
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_Semaphore", referenced from:
objc-class-ref in libM.a
objc-class-ref in B
objc-class-ref in C
ld: symbol(s) not found for architecture i386
実際には、"nm" コマンドを使用して A のシンボルを表示します。"_OBJC_CLASS_$_Semaphore" があります。それで、これを解決する方法は?
ありがとう!