做这些Dsymutil警告XCode中4.5是什么意思?(What do these Dsymuti

2019-08-08 01:40发布

我连接iOS版静态框架,针对ARMv7的iOS 6的应用程序,我怀疑是原来的二进制文件在Xcode 3.x和与GCC汇编,而现在,我使用锵编译器将它链接。 我没有为框架,只有二进制文件的源代码:

(null): warning: (armv7) /.../DerivedData/.../armv7/HardwareObjectFile.o unable to open object file

我得到69个警告信息,如上述,一个用于连接到静态框架的每个.o文件将。

这是严重的警告,以任何理由? 我已经简化这似乎表明,在库中的二进制文件已硬编码“/用户/ somedeveloperthatisntme”的路径是禁不住但不存在的,因为我使用的,甚至不的计算机上这个库中的巨人路径有一个名为“用户/ somedeveloperthatisntme”文件夹中。

Dsymutil似乎是“操纵存档矮调试符号文件”的工具,虽然我知道正是一无所知它是什么和它做什么,尽管苹果公司的完整的文档,它告诉我什么,但从来没有,这是为什么。 它正在做什么,什么会这个警告意味着我吗? 我怀疑我需要从供应商处新的库/静态的框架来清除这个吗?

更新:我无法解决这一点,它出现的原因有一个很老的XCODE版本编译很老的二进制文件,运从第三方供应商的移动框架的一部分规定。 在这种情况下,这个问题将通过具有供应商重建自己的库来解决,这是我要求他们这样做,因为警告驱使我坚果,但他们似乎无法做到。 最后,我抛弃了他们的技术,并用别的东西代替它。 (GRIN)

Answer 1:

这些错误与您所使用的架构和你引用的资源来做。 我不明白的原因,我自己,但如果你要他们走开,构建设置,然后选择Build选项,然后选择调试信息格式和选择侏儒。



Answer 2:

我是这样做的另一边,构建库供其他人使用,我能够在生成设置,使这些警告在消费的一个应用程序项目走,设置“GCC_GENERATE_DEBUGGING_SYMBOLS = NO”来改变库项目输出框架。

这不是你的问题的解决方案,但如果你在与此供应商接触的时候,你可以一起传递。



Answer 3:

其他的答案中包含有用的信息,但我希望把这些真正的答案简洁下来:

你可以不解决这个问题,而错误的意思很简单:目前的链接程序将这些库文件含有无法打开的元素。

为了解决这个警告,与供应商联系,并获取已经重建铿锵的更高版本的重新编译库。



Answer 4:

我所做的只是删除/库/开发商/ Xcode中/ DerivedData文件夹,它为我固定的一切。



Answer 5:

可能会出现这些警告的另一个原因是因为不正确的符号剥离设置的释放建立在一个项目。 联系框架的作者,并告诉他们做一个新的二进制与正确的符号剥离设置。



文章来源: What do these Dsymutil Warnings mean in XCode 4.5?