Reputation: 1077
Over one Year ago I made a project in our company to work with Three20 and iOS3.1.3. Up to 4.*, it worked fine with some iPhones. I had no need to correct anything or even recompile the package. Even later the Retina-Display of an iPhone4 did not make any problems.
Now on iOS5, the ipa didn´t work anymore. So I had to "re-setup" the whole thing.
iOS3 -> 5 XCode 3.2 -> 4.2 Three20 (old) -> 1.09 (downloaded the zip from here: https://github.com/facebook/three20)
After many tries, I wanted a clear state. So I deleted the old Three20-things in the project settings and simply integrated it like mentioned here: http://three20.info/article/2011-03-10-Xcode4-Support again.
Now I am getting:
Check dependencies
Unsupported compiler 'GCC 4.2' selected for architecture 'armv6'
Unsupported compiler 'GCC 4.2' selected for architecture 'armv7'
In former tries, I simply changed the compiler in each Three20-Module to the Apple LLVM 4.2 and removed all arm6-mentionings, as the oldest iPhone to use is now 3Gs with 5.0.1. The 3G can use the old ipa, that worked formerly. This only changed the errors to other ones.
So, is anyone expierienced with this problems?
Edit: After I deleted all armv6-occurences, "surprisingly" only the second
Unsupported compiler 'GCC 4.2' selected for architecture 'armv7'
appears.. in principle no clue, BUT: build for archiving works and building for the simulator both work now. only i can not deploy a real iPhone 4 5.0.1.
Upvotes: 1
Views: 3287
Reputation: 724
I solved this problem removing an old "Build" folder inside the Three20 folder.
Upvotes: 0
Reputation: 5805
I've seen this problem before with other projects. In my experience, xCode often struggles with old projects, especially big ones with other projects / frameworks linked in.
The 'official' way;
Find the 'Compiler for C/C++/Objective-C' setting in the 'Build Options' category.
Change the compiler from GCC 4.2 to a supported one. (Now: Apple LLVM or LLVM GCC)
This approach might or might not work for you. It might be my limited understanding, but it seems that in some cases, old settings 'linger' without begin accessible through the GUI, but they can still be causing problems. Moreover, if this error appears in a framework rather than a project, you're out of luck since you can't always change the settings for those.
In that case:
The dirty way;
Use 'grep' to find the incorrect settings, should be in .pbxproj files. Open a command line of your project, and do:
grep -r "GCC_VERSION" * | grep 4.2
You'll find lines like these:
GCC_VERSION = 4.2;
Open the file in your favorite text editor, and change to:
GCC_VERSION = com.apple.compilers.llvmgcc42;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
If that doesn't help either;
After converting projects between too many versions of xCode, eventually it will actually save you time to start with a clean slate, open a new empty xCode project, and manually drag-in all code from your old project.
Upvotes: 3
Reputation: 5932
Make sure you change the complier settings for the extensions as well. If it still says "Unsupported compiler", you probably forgot to change it in one of the three20 sub projects.
Also, check that you have both armv6 and armv7 under the Architectures
Can you send a screenshot of the build settings you have?
Upvotes: 1