我正在链接一个针对 iOS 的静态框架,针对 armv7 ios 6 应用程序,我怀疑原始二进制文件来自 XCode 3.x 并使用 GCC 编译,我现在正在使用 CLang 编译器链接它。我没有框架的源代码,只有二进制文件:
(null): warning: (armv7) /.../DerivedData/.../armv7/HardwareObjectFile.o unable to open object file
我收到 69 条类似上述警告,每个链接到静态框架的 .o 文件都有一条。
出于某种原因,此警告是否严重?我已经简化了巨大的路径,这似乎表明库中的二进制文件已经在“/Users/somedeveloperthatisntme”中硬编码了一个路径,这几乎没有帮助,但不存在,因为我在一台甚至没有的计算机上使用这个库有一个名为“Users/somedeveloperthatisntme”的文件夹。
Dsymutil似乎是一种“操纵存档的 DWARF 调试符号文件”的工具,尽管我对它是什么以及它的作用一无所知,尽管 Apple 提供了详尽的文档,它告诉我为什么,但从来没有告诉我。它在做什么,这个警告对我意味着什么?我怀疑我需要供应商提供一个新的库/静态框架来解决这个问题?
更新:我无法解决这个问题,原因似乎在于由非常旧的 XCODE 版本编译的非常旧的二进制文件,作为第三方供应商的移动框架的一部分提供。这种情况下的问题将通过让该供应商重建他们的库来解决,我要求他们这样做,因为警告让我发疯,但他们似乎无法做到。最后,我放弃了他们的技术并用其他东西取而代之。(咧嘴笑)