Xcode force_load不适用于模拟器构建

Aar*_*non 2 xcode objective-c llvm

我正在使用Xcode 4和LLVM 2作为工作区,其中包含两个项目(A和B).主项目(A)链接到构建静态库的另一个项目(B)的二进制文件.

项目B包含类别,因此为了正确链接到A,我设置了ObjC和all_load链接器标志.然而,这会导致问题,因为我使用的某些库具有不应加载的符号,因此我尝试转移到在项目B的库文件上专门使用force_load.

-force_load $(TARGET_BUILD_DIR)/libB.a

这使得设备在设备上工作,但是在模拟器中应用程序崩溃,因为项目B中的类别未被链接.

知道为什么force_load在设备和模拟器上的工作方式不同吗?

如果您需要更多详细信息,请告诉我们.

ser*_*rvn 5

尝试-Wl,-force_load,$(TARGET_BUILD_DIR)/libB.a; IIRC,这是Apple LLVM Compiler 2.0不承认的已知问题-force-load.