【问题标题】:Undefined symbols for architecture i386 "_OBJC_CLASS_$_Appirater"架构 i386“_OBJC_CLASS_$_Appirater”的未定义符号
【发布时间】:2012-02-15 18:13:54
【问题描述】:

将Appirater添加到我的iOS项目后,编译时出现错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Appirater", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

在互联网上搜索和搜索后,找到的解决方案都没有帮助。

我的项目和目标都设置为:

我应该多尝试什么?

【问题讨论】:

标签: objective-c xcode compiler-errors


【解决方案1】:

如果您忘记将 CFNetwork 和 SystemConfiguration 框架添加到您的项目中,您也会收到此错误。

【讨论】:

  • 帮帮我。是 StoreKit,另一个必需的框架,给我造成了问题。
【解决方案2】:

我刚遇到同样的问题,已经解决了。

问题的原因是我将文件从其他项目拖放到当前项目。

当我们删除并重新创建文件时,它当然可以工作。

【讨论】:

    【解决方案3】:

    您似乎没有正确地将 Appirater 代码添加到您的项目中。 Appirater.hAppirater.m 都必须是您项目的一部分,并且 Appirater.m 必须像您的所有其他文件一样编译。

    【讨论】:

    • Appirater.m 文件未添加到目标中。这就是问题所在。
    【解决方案4】:

    我认为,您只是将文件添加到项目,而不是目标。
    单击Project Navigator 中的Appirater.m 文件,然后在Target membership of File Inspector 中的目标名称附近设置复选框。

    【讨论】:

    • 这就是问题所在。谢谢托马斯。
    • 以防万一有人不知道文件检查器是什么/在哪里,在 xcode 4 和 3 中(如果我没记错的话)你可以去查看 -> 实用程序 -> 显示文件检查器。它应该从右侧滚动。
    • 您也可以在 Project Inspector 中右键/命令单击文件并选择“Show File Inspector”,向下第四个选项,在“New File”正上方。
    • See this answer 的 GIF 动画演示了这一点。
    • 我已将 Appirator.m 文件添加到目标中,但我仍然遇到完全相同的错误 - 不知道为什么并且仍在尝试寻找解决方案。
    猜你喜欢
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多