没有为架构armv6找到的符号

时间:2011-10-31 11:36:56

标签: objective-c ios4 armv7 armv6

请从以下错误中帮助我。

我正在使用第三方框架(libIPhonecharting)处理图形,每个东西在模拟器中工作正常,但是当我尝试构建.app文件以在IPAD设备中安装时,我收到以下错误消息。

  

忽略文件   /Users/xyz/Desktop/xyzIPAD/library/4.0/Release-iphoneos/libIPhoneCharting.a,   文件是为存档而构建的,而不是链接的体系结构   (ARMv6的)

     

架构armv6的未定义符号:“_ OBJC_CLASS _ $ _ DTCStroke”,   引自:         DemoLineChart.o中的objc-class-ref“_OBJC_CLASS _ $ _ IPCBar3DChart”,引自:         DemoBar3DChart.o中的objc-class-ref“_OBJC_CLASS _ $ _ IPCLineChart”,引自:         DemoLineChart.o中的objc-class-ref“_OBJC_CLASS _ $ _ DTCDefaultCategoryDataset”,引自:         DemoBar3DChart.o中的objc-class-ref         DemoLineChart.o中的objc-class-ref“_DTC_STROKE_CAP_SQUARE”,引自:         + [DemoLineChart(Private)getRenderWithRender:]在DemoLineChart.o“_ OBJC_CLASS _ $ _ IPCTitle”中,引自:         DemoBar3DChart.o中的objc-class-ref         DemoLineChart.o“_DTC_STROKE_JOIN_BEVEL”中的objc-class-ref,引自:         + [DemoLineChart(Private)getRenderWithRender:]在DemoLineChart.o中:ld:未找到架构armv6的符号   collect2:ld返回1退出状态

3 个答案:

答案 0 :(得分:18)

以下是我遇到此问题的方法:

我通过将它们拖到我的项目导航器中,从另一个项目中添加了.h.m和NIB。 Xcode没有正确地将它们添加到Build Phases中。

我解决此问题的方法:

  • 转到导航器菜单中的目标
  • 点击“构建阶段”标签
  • .m文件添加到“编译源”(将其拖过,或使用+按钮)
  • .xib添加到“复制捆绑资源”
  • 清理并构建

这对我很有帮助

答案 1 :(得分:2)

几个问题:你是否有外部lb拥有它自己的项目文件?如果是这样,请确保将其配置为正确构建到arm6和arm7。为主项目文件执行相同操作以获得良好的衡量标准。另外,你在哪个版本的XCOde?不同版本之间存在显着差异。

查看libs方案(取决于您使用的XCode的版本),并确保在iOS设备上正确配置以进行调试;我认为你正在构建自己的设备以进行调试:这个建议是因为:“文件是为存档而构建的,而不是被链接的架构(armv6)”

尝试上述每一项操作后,请务必在每次构建之前清理整个项目。

希望这会有所帮助。我觉得你的痛苦XCOde是邪恶的。

答案 2 :(得分:0)

我通过向目标添加缺席框架解决了这个问题 - >构建阶段 - >使用库链接二进制文件