结果符号没有加载,我不能使用Parse,试图插入#import给出文件未找到错误。我已经按照Parse网站上的快速入门指南查看了现有项目,并添加了所有需要的库(例如AudioToolbox Framework等),这不是问题。
我得到的确切警告是:
ld:警告:忽略文件/Users/XXXXXXX/Documents/YYYYYYYY/Parse.framework/Parse,文件是针对不支持的文件格式(0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74)构建的不是被链接的架构(i386):/ Users /XXXXXXX / Files / YYYYYYYY / Previous.framework / Parse
该项目是在Xcode 5.02中创建的,目标是ios 6.1,如果需要任何进一步的信息,请告诉我。我下载了Parse启动项目并且构建良好,但似乎有一些自定义架构设置,所以也许我可以尝试在我的项目中更改构建设置?
答案 0 :(得分:3)
我知道这已经过时了,但我遇到了同样的问题。十六进制数可以用ASCII字符替换。
就我而言,我有这些十六进制数字:0x76 0x65 0x72 0x73 0x69 0x6F 0x6E 0x20 0x68 0x74 0x74 0x70 0x73 0x3A 0x2F 0x2F
翻译成ASCII,它说version https://
。我在字符串上做了递归grep(grep -r "version http://" ./
),在单个框架中,主文件包含该字符串。
似乎一位同事使用Git Large File Storage在Git上存储了一个巨大的SDK文件,他忘记了'把它提到我身上......浪费了几个小时但终于解决了。
答案 1 :(得分:2)
“Parse.framework / Parse”是一个链接。并且编译器不能使用它。用真实文件放置所有链接,它工作正常。
答案 2 :(得分:1)
我运行了命令
xcrun -sdk iphoneos lipo -info Parse
得到了
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo:无法弄清楚架构类型:Parse
所以看起来添加框架以某种方式损坏了自己,或者xcode 5 bug。我删除了框架并重新添加它,它现在正在工作,上面的命令给出了
胖文件中的架构:解析是:armv7 armv7s i386 arm64 x86_64
答案 3 :(得分:1)
我知道这是一篇旧帖子,但我最近在绑定iOS框架时遇到了同样的问题。
file was built for unsupported file format ( 0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E 0x74 ) which is not the architecture being linked (arm64): ...
这是由iOS框架结构中的Mac Alias链接损坏造成的,要么合并VSTS(git)中的代码,要么在Windows中打开这些文件。它实质上将它们更改为简单的文本文件。您可以通过单击应该是别名的这些文件来轻松验证这一点,并且路由不起作用。
注意:这是在一台完成的Mac上,但是有些团队正在使用Windows。但是,当git合并时,这似乎更为普遍。
这里的问题是Xamarin绑定项目构建,直到您尝试在应用程序或测试工具中使用DLL时才产生警告和错误。手动重新启动Mac Alias或获取原始框架可以解决问题。
答案 4 :(得分:0)
在MacOS上导致此问题的一个原因是在ar
上安装了GNU Binutils(如ranlib
和PATH
)。运行ar --version
和ranlib --version
。他们应该不要谈论有关GNU的任何事情。
如果使用Brew进行安装,请尝试brew unlink binutils
,然后进行完全清理并重建。