我将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“中的路径,这个路径几乎是不存在的,因为我在一台计算机上使用这个库,它甚至没有一个名为”用户/somedeveloperthatisntme“的文件夹。
迪穆蒂尔似乎是一个“操纵归档的侏儒调试符号文件”的工具,虽然我对它是什么以及它做什么一无所知,尽管苹果提供了详尽的文档,这告诉了我什么,但从来没有,为什么。它在做什么,这个警告对我意味着什么?我想我需要供应商提供一个新的库/静态框架来清除这个问题吗?
更新:我无法解决这个问题,原因似乎是由一个非常旧的XCODE版本编译的非常旧的二进制文件,由第三方供应商作为移动框架的一部分提供。在这种情况下,这个问题可以通过让供应商重建他们的库来解决,这是我让他们去做的,因为警告让我抓狂,但他们似乎做不到。最后,我放弃了他们的技术,取而代之的是其他的东西。(咧嘴笑)
发布于 2014-08-14 17:28:41
其他的答案包含了有用的信息,但我想简单地把真正的答案写下来:
您无法修复此问题,错误的含义很简单:当前链接器将这些库文件视为包含无法打开的元素。
要解决这些警告,请与供应商联系,并获得一个重新编译的库,该库已用更高版本的CLANG重新生成。
发布于 2013-09-02 21:42:19
这些错误与您正在使用的体系结构和所引用的资源有关。我自己也不明白原因,但如果你想让他们离开,去构建设置,然后构建选项,然后选择调试信息格式,然后选择侏儒。
发布于 2015-04-09 15:44:35
我所做的只是删除/Library/Developer/Xcode/派生数据文件夹,它为我修复了所有的东西。
https://stackoverflow.com/questions/14489692
复制相似问题