dsymutil和静态库 - "无法打开目标文件"

时间:2014-08-12 17:12:09

标签: objective-c xcode static-libraries dsym

我正在将第三方静态库导入我的iOS Applicaton(使用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很新,所以如果您需要任何其他信息来了解问题,请告诉我。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

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