iOS - Linker error after upgrading to Xcode 4.5, possibly Core Plot related

前端 未结 10 1086
猫巷女王i
猫巷女王i 2020-12-03 11:02

I\'ve just upgraded to Xcode 4.5GM and tidied up some screens in my iPhone project to cope with the extra screen size on iPhone 5. The project is targeting

相关标签:
10条回答
  • 2020-12-03 11:33

    Fix linker errors for Core Plot when using Xcode 5

    I've been using Core Plot for years and was getting a bunch of "Apple Mach-O Linker Warning" errors about armv7s not supporting certain files in the "CorePlotHeader" folder that was updated (deleted folder currently in my project and dragged the new folder into my project) to reflect the CorePlot_1.4 changes. I also deleted the old "libCorePlot-CocoaTouch.a" library and brought that into my Frameworks folder. Everything worked fine in the simulator, but I couldn't build on my iPad 4 with iOS 7.0.2.

    Here's the only thing I found that works when Debugging (seems to work when Archiving, etc.):

    1) Do everything I mentioned above, set Build Active Architectures to No, then clean

    2) You might get an error about the architecture "arm64" not being supported, so delete the "arm64" out of your "Valid Architecture" section in Build Settings

    3) Right click on your "MyApp.app" file in your Products folder when Debugging, and you might see the old "libCorePlot-CocoaTouch.a" (if the modified date is pre 9/28/13) compiling with your app.

    4) Delete that library and copy the new one into the build folder, clean then rebuild

    This works for the "Static Library Install" method and hasn't been tested using the "Dependent Project Install" method

    0 讨论(0)
  • 2020-12-03 11:36

    did you do a clean and rebuild? Also check to see that you have armv6 and armv7 in the architectures. You may need to recompile your targets and re-add the libraries to the target

    0 讨论(0)
  • 2020-12-03 11:45

    You just need to remove armv7s from the list of valid architectures.

    just do the following things. -Select your project from the Project Navigator -Select your target from the list of targets -Select the build settings tab -Find the ‘Valid Architectures’ setting. It should say armv7 armv7s. Remove armv7s and there will be only armv7 in your valid architectures. Now your project will compile correctly.

    0 讨论(0)
  • 2020-12-03 11:46

    By the looks of it you'll need to rebuild the libCorePlot library with Xcode 4.5GM so that there's a ARMV7S build of the library. Seems as if it's trying to use the version you built with the older Xcode.

    0 讨论(0)
提交回复
热议问题