【发布时间】:2012-03-13 09:31:57
【问题描述】:
我的问题
编译某些 Xcode 项目时出现“_OBJC_CLASS_$...,引用自:”链接器错误(iOS 和 Mac 项目中都会发生)我已正确链接框架和导入。
设置
- 一个应用目标
- 一个测试目标
- 所有框架链接正确
编译时出现以下链接器错误: “_OBJC_CLASS_$_JGCountdownTimer”,引用自: JGCountdownTimerTestCase.o 中的 objc-class-ref
适用于测试中使用的许多类。
我的尝试
- 检查导入是否全部存在
- 删除了所有非标准框架
- 如果我为测试目标和应用目标编译一个类,它可以解决问题。但后来我收到了来自编译器的其他警告。
【问题讨论】:
-
在您的目标 - 构建阶段检查是否缺少 JGCountdownTimer.m 文件?
-
我相信你知道,这意味着在编译过程中使用了名称(JGCountdownTimer),但是在链接过程中,没有找到目标文件。 JGCountdownTimer 是来自二进制文件还是类文件?我唯一遇到这个问题是由于循环引用。会是这样吗?如果是,请使用 @class 指令。祝你好运。
-
嘿伙计们-感谢您的评论。我在发布之前解决了这个问题,但是我找不到任何其他具有我找到的答案的帖子,所以我提出了一个问题,以便我可以自己回答并获得权威的答案!
-
解决方案是将
GCC_SYMBOLS_PRIVATE_EXTERN = NO添加到构建设置中。
标签: objective-c xcode linker compiler-errors