0

通过将框架拖放到 Project Navigator 中的项目上,我向我的 Xcode 4.4 项目添加了一个框架。

我在 Xcode 上收到未定义符号的链接器错误。

架构 armv7 的未定义符号:“_returner”,引用自:RapidEarsDemo 中的 _should_be_returned(multisphinx_re.o) “_input_sample_rate”,引用自:RapidEarsDemo(PocketsphinxController+RapidEars.o) 中的 -[PocketsphinxController(RapidEars) startRealtimeListeningWithLanguageModelAtPath:andDictionaryAtPath:] -[ RapidEarsDemo(ContinuousModel+RapidEars.o) 中的 ContinuousModel(RapidEars) realtimeListeningLoopWithLanguageModelAtPath:andDictionaryAtPath:] -RapidEarsDemo(RECommandArray.o) 中的 [RECommandArray commandArrayForlanguageModel:andDictionaryPath:isJSGF:] ld:未找到架构 armv7 的符号

我在 RapidEarsDemo 框架文件上运行了“nm”,我只看到 i386 的 _input_sample_rate。如何指定不为 armv7 包含此符号?

“nm”根本不显示_returner。

在 Build Phases -> "Link Binaries with Project" 中,我确保我的新框架列在那里。我已经进行了清理和重建。

有什么建议么?您的帮助将不胜感激!

4

3 回答 3

1

可能是您缺少一些要包含在项目中的库头文件。

于 2012-11-01T17:40:08.937 回答
1

原因是我包含了两个框架。框架 A 引用了框架 B。我使用的是 A 的 1.1 版,但是 B 的 1.2 版。因此,A 期望符号存在于 B 中,而该版本中不存在。

运行“nm”来列出符号很有启发性。

于 2012-11-05T00:57:08.040 回答
0

我会尝试在 Build Settings -> Other Linker Flags 添加“-all_load”

于 2012-11-01T17:24:18.357 回答