iOS - 升级到Xcode 4.5后的链接器错误,可能与Core Plot相关

Jon*_*ham 17 iphone xcode linker core-plot ios

我刚刚Xcode 4.5GM在我的iPhone项目中升级并整理了一些屏幕,以应对iPhone 5上的额外屏幕尺寸.该项目是针对性的iOS 5.1,我刚刚为我的手机构建它,我收到此链接器错误:

文件是通用的(2个切片)但不包含(n)armv7s切片:/Users/JonathanW/Documents/MyXcode/myApp/myApp/CorePlot/libCorePlot-CocoaTouch.a用于架构armv7s

Core Plot 1.0在我的项目中使用静态库,直到现在还没有任何问题.环顾四周,我可以看到与构建体系结构设置类似的错误,但不知道从何处开始.该项目在模拟器(包括正常工作iOS 5.1iOS 6).有任何想法吗?

Ben*_*ton 15

根据它的外观,你需要使用Xcode 4.5GM重建libCorePlot库,以便有一个ARMV7S版本的库.似乎它正在尝试使用您使用旧版Xcode构建的版本.

  • 非常感谢Ben,你的回答很明显.使用Xcode 4.5重新编译Core Plot库更是一个挑战,但最终到达那里!@Jamie - 我在这里得到了一些关于Core Plot的代码修复:http://code.google.com/p/core-plot/issues/detail?id = 442我希望他们在iOS6出来后会发布另一个主版本. (3认同)
  • @Ben如何重建libCorePlot库? (2认同)
  • ...这就是为什么我们建议人们使用存储库中的最新代码:http://code.google.com/p/core-plot/source/checkout而不是二进制快照.请遵循以下相关项目说明:http://code.google.com/p/core-plot/wiki/UsingCorePlotInApplications,这应该可以使用新架构进行构建. (2认同)
  • 添加到此的一件事是您需要转到Core Plot项目,转到Build Active Architecture Only构建设置,并将Debug和Release构建更改为No.结合最新存储库源代码的编译,可以清除您可能看到的任何armv7s链接器错误. (2认同)

JSW*_*son 7

我也在我的项目中使用Core Plot 1.0静态库.通过将Build Active Architectures Only设置为Yes,我能够解决这个问题. 构建活动架构仅在Xcode中Target的Build SettingsArchitecture部分中.

我下载了Core Plot 1.0 zip文件,这个文件似乎不完整,所以我无法重建库.