我刚刚升级到Xcode 4.5GM
,并在我的iPhone项目中整理了一些屏幕,以应对iPhone 5上额外的屏幕尺寸。该项目针对iOS 5.1
,我只是来为我的手机构建它,我收到了这个链接器错误:
该文件是通用的(2个切片),但不包含(N)个体系结构切片: /Users/JonathanW/Documents/MyXcode/myApp/myApp/CorePlot/libCorePlot-CocoaTouch.a
armv7s armv7s
我在我的项目中使用了Core Plot 1.0
静态库,到目前为止还没有遇到任何问题。环顾四周,我可以看到与构建架构设置类似的错误,但不确定从哪里开始。该项目在模拟器( iOS 5.1
和iOS 6
)中运行良好。有什么想法吗?
发布于 2012-09-14 00:53:27
从外观上看,您需要使用Xcode4.5GM重新构建libCorePlot库,以便有一个库的ARMV7S构建。它似乎正在尝试使用您用旧的Xcode构建的版本。
发布于 2012-10-02 22:53:34
我还在我的项目中使用Core Plot 1.0静态库。我可以通过将Build Active Architectures 设置为Yes来解决这个问题。在Xcode中,仅构建活动架构位于目标的构建设置的架构部分。
我下载了Core Plot 1.0压缩文件,该文件似乎不完整,因此无法重新构建这些库。
发布于 2012-09-14 00:58:00
它在模拟器中工作,因为模拟器将始终使用i386架构。这一点在新的SDK中没有改变。改变的是使用了新架构(armv7s)的iPhone 5的出现。你的应用程序的项目自动将armv7s添加为有效的体系结构,但该库很可能是在不知情的情况下编译的。因此,启用了ARM7S的应用程序尝试链接到一个没有使用armv7s构建的库,但失败了。
要修复它,您只需要访问生成库的项目。修改目标系统上的"Valid Architecture“设置以包含armv7s,然后重新构建。
https://stackoverflow.com/questions/12411077
复制相似问题