iOS 和 Xcode : custom frameworks link error, undefined symbol

标签 ios xcode frameworks

我使用自定义的静态框架来封装我的模块,比如A、B、C……,A是基础层,所以B&C依赖于A,它们都使用A中的一个符号叫“Semaphore” .

现在我在我的应用程序“DemoX”中添加了A、B、C,DemoX 只直接使用B & C,链接时出现错误。

Changed: DemoX depends on a static library "libM" which uses A directly.

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”。 那么,如何解决呢?

谢谢!

最佳答案

我解决了这个问题。

都是我的错,这个错误只出现在release中,因为我编译A时设置了“Symbols Hidden by Default”YES,所以别人看不到A所有的符号。设置为 NO,一切都很好。

关于iOS 和 Xcode : custom frameworks link error, undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12069320/

相关文章:

.net - 您可以在解决方案中混合使用 .NET 框架版本吗?

jquery - jquery 框架

iphone - 将数据从 plist 输出到 NSString

ios - 在隐藏的导航栏上具有不同行为的 ViewController

ios - 在 iOS 应用程序中存储加密 key ?

ios - 无法在 iPhone 设备 Xcode 7.1 错误上启动调试服务器

ios - 如何从 iPhone 的照片中获取位置数据?

ios - 从 JSON 数据 Swift 4 创建 TableView 部分

ios - Swift SpriteKit 类结构的良好实践

iphone - 为什么我的新 View Controller 没有出现?