【问题标题】:dsymutil and static libraries - "Unable to open object file"dsymutil 和静态库 - “无法打开目标文件”
【发布时间】:2014-10-05 20:53:07
【问题描述】:

我正在将一个 3rd-Party 静态库导入我的 iOS 应用程序(使用 Xcode 5.1.1)。在构建项目时,我收到数百条以下类型的警告:

warning: (i386) /Users/USERNAME/Desktop/Development/SDKNAME/AWSS3.framework/AWSS3(S3ListObjectsResult.o) unable to open object file

这些警告是由 dsymutil 在尝试生成 DSYM 文件时引起的。出于某种原因,dsymutil 试图在构建框架的开发人员的本地路径中查找框架中包含的代码的目标文件。

静态库中的哪些构建设置会导致此类问题?

我在 Stack Overflow 和其他平台上找到了一些回复:What do these Dsymutil Warnings mean in XCode 4.5?,但没有一个能够真正解释根本问题。

我对 Mach-O/DSYM 还很陌生,所以如果您需要任何其他信息来了解问题所在,请告诉我。

【问题讨论】:

    标签: objective-c xcode static-libraries dsym


    【解决方案1】:

    正如您链接到的帖子中的答案之一所述,这是您的图书馆的问题,您无法控制。您的链接器会看到库中无法打开的对象。我在使用不同的框架时遇到了同样的问题,正在等待供应商向我发送使用更新版本的 llvm 编译的更新版本。我建议你也这样做并联系图书馆的作者。

    编辑 8/26: 刚刚得到图书馆作者的确认。出现这些警告的原因是项目中发布版本的符号剥离设置不正确。

    【讨论】:

      【解决方案2】:

      我也遇到了同样的 Dsymutil 警告。我通过更改构建设置中的“调试信息格式”来消除这些警告

      在您的 xcode 项目中 > 构建设置 > 在构建选项下 > 将调试信息格式更改为 'DWARF'

      我不确定它是否真的隐藏了警告或完全摆脱了。

      【讨论】:

      • 它摆脱了但也摆脱了符号化崩溃报告所需的信息......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-19
      相关资源
      最近更新 更多