【问题标题】:Can't link static library in XCode 4 in workspace无法在工作区的 XCode 4 中链接静态库
【发布时间】:2012-12-26 00:28:22
【问题描述】:

所以,我正在处理一个项目,但无法让我的 XCode 4 工作区正常运行。我将主应用程序作为工作区中的一个项目。然后我将静态库项目添加到工作区中。似乎一切正常。我可以从其他项目导入文件。它可以构建,但是当我运行它时,我得到了这个:

dyld: Symbol not found: _OBJC_CLASS_$_iGBC
  Referenced from: /var/mobile/Applications/CD00CC83-28E4-4467-96C0-0D1777E21FDA/GBA4iOS.app/GBA4iOS
  Expected in: flat namespace
 in /var/mobile/Applications/CD00CC83-28E4-4467-96C0-0D1777E21FDA/GBA4iOS.app/GBA4iOS

然后崩溃。看起来尽管 Xcode 认为该库已被链接,并且它可以构建和运行,但应用程序实际上没有该库。但是在派生数据文件夹中,看起来应该存在的所有内容......都存在。

我对 XCode 以及它在设置中的所有细微差别都要发疯了。我可以通过完整性检查以确保其正常工作吗?我还能做什么?

编辑: 项目设置是有效的,我已经链接了库。

编辑 2: 我的工作区已设置,因此库也在工作区中:

我已从主项目中删除了 lib.a 文件,并将其从构建阶段部分中删除,并多次添加回来。以这种方式添加时没有“将库复制到目标文件夹”选项,所以我不能这样做。

【问题讨论】:

  • 您还需要将库添加到Build Phases => Link Binary with Libraries。在Summary 你有一个按钮Validate Settings。我想知道这对您的情况是否有帮助。

标签: iphone ios xcode static-libraries workspace


【解决方案1】:

尝试清理您的构建,如果它不起作用,请在构建阶段删除库和您的项目文件夹。将库添加到您的项目时,选中“如果需要,将项目复制到目标”,在构建阶段添加该库。

【讨论】:

  • 已更新。我已经尝试了几次,但无济于事。清理并清理构建文件夹。
  • 确保你的库是好的,尝试以同样的方式链接另一个库,如果它有效,可能是你的库有问题。看起来您引用了一个不在库中的类。链接器说“找不到符号:_OBJC_CLASS_$_iGBC”
猜你喜欢
  • 2011-07-15
  • 1970-01-01
  • 1970-01-01
  • 2011-09-01
  • 1970-01-01
  • 2021-11-06
  • 2012-04-09
  • 2017-01-31
  • 1970-01-01
相关资源
最近更新 更多