Xcode 4.3 vs. introjucer


#1

Hi,

I’ve git cloned the juce tip (with modules), but still can’t convince xcode 4.3 to compile introjucer. Any suggesstions?
I’m downloading xcode 3.2 at the moment, hopefully that will get me going.
Bummers, xcode 3.2 crashes, no go. drat.

Thanks,
Kurt


#2

CoreFoundation is a basic part of the Apple SDKs - sounds like you’ve not installed Xcode correctly (though I don’t know how that’s possible)…


#3

This version was installed via the app store, one-click install.
I’ll see what I can learn and report back.
FYI, I installed it, didn’t change anything then loaded the project and said ‘Build for Running’


#4

Solved.

The ‘Deployment Target’ was set to 10.5 - changing it to 10.7 allowed the project to build and run.
That setting is to the right of the big ‘orange’ graphic.
Perhaps I need to tell xcode to download other deployment targets?
I’m assuming since my os is 10.7 that’s all xcode came loaded with?


#5

This happened to me too today after downloading from the app store, Xcode 4.3 sucks!!
I’m downgrading to 4.2, wasted too much time on this update.


#6

I just had a great success with 4.3 so I’m keeping it!

I had to change the defaul build target from 10.5 to 10.7 on my mac. And had to select the LLVM GCC 4.2 compiler.

Note having used 4.2 I was forced to get familiar enough with 4.3 to build the code.
I still haven’t figured out how the hell to make an installable, the documentation defied me and won the war.
One battle at a time…


#7

You should use the latest LLVM one - it’s far faster, and will produce better code.


#8

I had to change the defaul build target from 10.5 to 10.7 on my mac.

Wait - will that generate code that’s backward-compatible with 10.5 and 10.6? I imagine only a minority of people’s users are on 10.7…


#9

Roger that…Is that the “Apple LLVM compiler 3.1”?

I also found I could target 10.5, 10.6 and 10.7 now - I don’t know which initial juce project setting was making xcode 4.3 unhappy but I seem to have found the correct balance now.


#10

The way that Apple encourage you to work is to always use the latest version of the SDK, but to set its “compatibility mode” so that it generates code that’ll also run on older OSes. In theory it’s a good system, and they’ve added thunks to emulate some newer functions when the OS doesn’t contain them, but the compatibility only goes back a couple of versions so you might still need to keep old 10.5 SDKs around if you need to target really old machines.


#11

You have to go into preferences and download the ‘Command Line Tools’ package. Without that, you don’t have real headers, so you can only use the actual installed system’s headers.

Bruce


#12

[quote=“jules”]
You should use the latest LLVM one - it’s far faster, and will produce better code.[/quote]

If you are targetting 10.6 and newer, I’d agree. If you are targetting 10.5, both LLVM 3.0 and 3.1 can be problematic. They still don’t correctly link some basic runtime calls to the older (10.5) library. I ran into this not too long ago, and there are a couple of long threads about it in the Apple Developer forums.


#13

Wow, jfitzpat, you just saved me a lot of grief later this year… I was planning to move to LLVM and would have run into this with my face!