War*_* P 13 xcode ios dsymutil xcode4.5
我正在连接iOS的静态框架和armv7 ios 6应用程序,我怀疑原始二进制文件来自XCode 3.x并使用GCC编译,我现在使用CLang编译器链接它.我没有框架的源代码,只有二进制文件:
(null): warning: (armv7) /.../DerivedData/.../armv7/HardwareObjectFile.o unable to open object file
Run Code Online (Sandbox Code Playgroud)
我得到69个警告,如上所述,每个.o文件链接到静态框架.
这个警告是否因任何原因而严重?我已经简化了巨大的路径,这似乎表明库中的二进制文件已经硬编码了"/ Users/somedeveloperthatisntme"中的路径,这条路径几乎无法帮助但不存在,因为我在不连接的计算机上使用此库有一个名为"Users/somedeveloperthatisntme"的文件夹.
Dsymutil似乎是一个"操作存档的DWARF调试符号文件"的工具,虽然我完全不知道它是什么以及它做了什么,尽管Apple提供了全面的文档,它告诉我什么,但从来没有,为什么.它在做什么,这个警告对我意味着什么?我怀疑我需要一个来自供应商的新库/静态框架来清除它?
更新:我无法解决这个问题,看起来原因是由非常旧的XCODE版本编译的非常旧的二进制文件,作为移动框架的一部分从第三方供应商提供.在这种情况下的问题将通过让供应商重建他们的库来解决,我要求他们这样做,因为这些警告让我疯狂,但他们似乎无法做到.最后,我抛弃了他们的技术并用其他东西取而代之.(GRIN)
小智 15
这些错误与您使用的体系结构和您引用的资源有关.我自己并不了解原因,但是如果你想让它们消失,请转到Build settings,然后选择Build Options,然后选择Debug information format并选择DWARF.
a. *_*lar 13
我在另一方面,构建一个供其他人使用的库,我可以通过在Build Settings中设置'GCC_GENERATE_DEBUGGING_SYMBOLS = NO'来改变库项目,以便在消耗了这些警告的应用程序项目中消除这些警告.输出框架.
这不是您的问题的解决方案,但如果您与此供应商联系,您可以传递此信息.
War*_* P 4
其他答案包含有用的信息,但我想简洁地写下真正的答案:
您无法修复此问题,并且错误的含义很简单:当前链接器将这些库文件视为包含无法打开的元素。
要解决这些警告,请联系供应商并获取使用更高版本的 CLANG 重新构建的重新编译库。