On Mar 23, 2009, at 12:22 PM, Dave Camp wrote: On Mar 23, 2009, at 11:54 AM, Chris Espinosa wrote:
On Mar 23, 2009, at 11:30 AM, Dave Camp wrote:
Opening any project and double clicking the target shows the build settings, but the GCC 4 section is missing. At the bottom of the settings list is a new section called User Defined which is full of things that used to show up in the GCC 4 section (GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS, GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO, GCC_WARN_ABOUT_MISSING_PROTOTYPES, etc).
The User Defined section appears to only be listing things I had turned on previously in the GCC 4 section, so I can no longer see all the other options that should be available to me.
Several people in our office also have this problem. It's becoming a serious problem for us.
Is there a way to get Xcode to show the build settings correctly again?
As there are now several release versions and two separate Beta versions of Xcode in wide use, please be specific about the version of Xcode you're seeing problems in (and report problems in Beta versions in the proper forum, either the iPhoen dev forum or email@hidden).
I had that in my original email and then apparently lost it while editing... I'm running 3.1.2 from the shipping iPhone 2.2.1 SDK. Sorry about that.
If you're seeing this in 3.1.2, this is a well-known problem that's caused by a bug when the Active SDK is not initially set to the same value as the Project Base SDK.
Changing the Active SDK back and forth to the same value as the Base SDK, then to the desired value, usually clears it up.
Thank you! That fixes the problem and explains why it appeared to come and go (switching from the device to the simulator and back).
One question... does it matter what the Base SDK for All Configurations is set to in the Project Info->General tab (in terms of device vs. simulator, obviously the OS version would matter)? Does the Project Active SDK setting completely override this?
Yes, it matters. The Base SDK shows intent for your delivered product, and for iPhone products it should always be a Device SDK. If you build from the command line with xcodebuild, the project's Base SDK for each configuration is what's obeyed (overridden by the Target Base SDK if you've set it.)
The Active SDK is merely a temporal override for the user interface. It does not change your project file or any project settings. It's really only there to make it easy to switch back and forth between Device and Simulator without making changes in your project file that would cause checkin diffs.
Chris |