symbol(s) not found for architecture armv6

和自甴很熟 提交于 2019-11-26 18:36:43

问题


Please help me from the below error.

I am working on graphs using 3rd party framework (libIPhonecharting), every thing works fine in simulator, but when I am trying to build .app file to install in IPAD Device I get the below error message.

ignoring file /Users/xyz/Desktop/xyzIPAD/library/4.0/Release-iphoneos/libIPhoneCharting.a, file was built for archive which is not the architecture being linked (armv6)

Undefined symbols for architecture armv6: "_OBJC_CLASS_$_DTCStroke", referenced from: objc-class-ref in DemoLineChart.o "_OBJC_CLASS_$_IPCBar3DChart", referenced from: objc-class-ref in DemoBar3DChart.o "_OBJC_CLASS_$_IPCLineChart", referenced from: objc-class-ref in DemoLineChart.o "_OBJC_CLASS_$_DTCDefaultCategoryDataset", referenced from: objc-class-ref in DemoBar3DChart.o objc-class-ref in DemoLineChart.o "_DTC_STROKE_CAP_SQUARE", referenced from: +[DemoLineChart(Private) getRenderWithRender:] in DemoLineChart.o "_OBJC_CLASS_$_IPCTitle", referenced from: objc-class-ref in DemoBar3DChart.o objc-class-ref in DemoLineChart.o "_DTC_STROKE_JOIN_BEVEL", referenced from: +[DemoLineChart(Private) getRenderWithRender:] in DemoLineChart.o ld: symbol(s) not found for architecture armv6 collect2: ld returned 1 exit status


回答1:


Here's how I got this problem:

I added a .h, .m and NIB from another project by dragging them onto my project navigator. Xcode didn't add them to the Build Phases properly.

My solution for this problem:

  • Go to the Target in the navigator menu
  • Click on the "Build Phases" tab
  • Add the .m file to "Compile Sources" (either drag it across, or use the + button)
  • Add the .xib to "Copy bundle resources"
  • Clean and build

It works for me thanks a lot to you




回答2:


Few questions: Does you external lb have it's own project file? If so make sure that it is configured to build to arm6 and arm7 properly. Do the same for your main project file for good measure. Also, what version of XCOde are you on? There are significant differences between different versions.

Look at the libs scheme (depending on the version of XCode you are using) and make sure that is configured properly for debugging on the iOS device; I assuem you are building to your own device for debugging purposes: this recommendation is because of : "file was built for archive which is not the architecture being linked (armv6)"

After trying each of these things be sure to clean the entire project before each build.

Hope this helps. I feel your pain XCOde is evil.




回答3:


I solved this issue by adding absent framework to target->Build Phases->Link Binary With Libraries



来源:https://stackoverflow.com/questions/7953168/symbols-not-found-for-architecture-armv6

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!