繁体   English   中英

Xcode 4.4中的链接器错误

[英]Linker error in Xcode 4.4

从Xcode 4.3升级到Xcode 4.4后,我开始在构建我的iPhone应用程序时遇到以下错误:

ld: section __objc_const (address=0x0010C720, size=7265990088) would make the output executable exceed available address range for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

内存地址和数字对我来说没有任何意义,但它们在清理和重建过程中保持一致。 我不清楚如何找到他们可能引用的内容。

代码确实并且仍然在XCode 4.3中编译。

有没有人知道如何追踪导致此错误的原因?

我有同样的错误。 幸运的是,我可以回想起它出现的那一刻,回滚并比较修改。 这是Google Analytics GAI课程中使用静态方法的类别。 我不知道为什么会这样,因为项目中的其他类别工作得很好,但希望它也可以帮助别人。

您可以在链接映射文件中查看所有符号(包括全局变量)的大小:

  • 在目标的“构建设置”中,转到“链接”部分,并将“写入链接映射文件”设置为“是”。
  • 构建程序。 链接器将失败,但会写入链接映射文件。
  • 找到链接映射文件。 链接器的日志输出显示参数-map -Xlinker -/path/to/linkmapfile.txt 它位于项目的DerivedData文件夹中的某个位置。
  • 链接映射文件显示所有符号的地址(第一列)和大小(第二列)。 对于全局变量,它显示名称以及它们所在的目标文件。
  • 您应该在链接映射文件中找到错误消息的地址(在您的示例中为0x0010C720)。
  • 您可以检查链接映射文件以查找具有大尺寸的其他符号。

所以这或许有助于缩小问题范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM