Juce mac projects type

i’m fairly new to mac world, i would like to know what kind of project should i choose when building a library based on juce. also which kind of project i have to choose from if i would build an executable. there are lots of possibilities from xcode. i don’t know if i have to choose carbon or cocoa (don’t even know the difference)… :roll:

There’s a lot of build settings you’ll need to tweak, so I’d probably recommend just copying the demo app and renaming it.

ok i’ll copy juce xcode project and start from that. anyway i’ll prefer to learn step by step. what kind of tweaks could i need to do before get it running ?

compiling juce on mac with 10.4.0 sdk produces some warnings of deprecated functions, also i get

#if ! MACOS_10_3_OR_EARLIER
kCGBitmapByteOrder32Big |
#endif

which is undefined symbol… i don’t know why :wink:

also, i’m getting some problems in the main sdk includes. seems that something is broken up… but don’t seem to be my system. i’ll have to investigate then…

You’ll get a few deprecation warnings - I’ll update that stuff eventually, don’t worry about it.

If there’s a build error, you’ve probably not got the latest SDKs, or are missing some of the old ones.

ok now i fixed the sdk include errors. now i’m able to build juce correctly and the jucedemo. now i have ejuce, which is a static carbon library based on juce headers. now i’ve built the project correctly, and linked togheter with juce project and library (but i don’t think is correct tho). then i’ve copied the jucedemo project to another location, stripped the source files and added the new ones based on ejuce. also i linked ejuce library (and project) to the new executable, togheter with the existing juce library (and project). now i get some linker errors

[code]Checking Dependencies
CpResource build/Debug/jucedemo.app/Contents/Resources/juce.xcconfig …/…/…/…/build/macosx/juce.xcconfig
cd /Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx
/System/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp -exclude .DS_Store -exclude CVS -exclude .svn -resolve-src-symlinks /Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/…/…/…/…/build/macosx/juce.xcconfig /Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/build/Debug/jucedemo.app/Contents/Resources

Ld /Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/build/Debug/jucedemo.app/Contents/MacOS/jucedemo normal ppc
cd /Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx
/usr/bin/g+±4.0 -o /Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/build/Debug/jucedemo.app/Contents/MacOS/jucedemo -L/Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/build/Debug -L…/…/…/bin -L/Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/…/…/…/…/bin -F/Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/build/Debug -filelist /Users/kunitoki/Projects/juce/projects/angeljuice/build/macosx/build/angeljuice.build/Debug/angeljuice.build/Objects-normal/ppc/jucedemo.LinkFileList /Users/kunitoki/Projects/juce/bin/libjucedebug.a /Users/kunitoki/Projects/juce/bin/libejucedebug.a -framework AGL -framework Carbon -framework CoreAudio -framework CoreMIDI -framework CoreServices -framework IOKit -framework OpenGL -framework QuickTime -arch ppc -prebind -Wl,-Y,1455 -mmacosx-version-min=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
/usr/bin/ld: warning -L: directory name (…/…/…/bin) does not exist
/usr/bin/ld: warning -prebind ignored because MACOSX_DEPLOYMENT_TARGET environment variable greater or equal to 10.4
/usr/bin/ld: Undefined symbols:
std::__default_alloc_template<true, 0>::deallocate(void*, unsigned long)
std::__default_alloc_template<true, 0>::allocate(unsigned long)
/Users/kunitoki/Projects/juce/bin/libejucedebug.a(ejuce_ScriptablePreprocessor.o) reference to undefined std::__default_alloc_template<true, 0>::deallocate(void*, unsigned long)
/Users/kunitoki/Projects/juce/bin/libejucedebug.a(ejuce_ScriptablePreprocessor.o) reference to undefined std::__default_alloc_template<true, 0>::allocate(unsigned long)
/Users/kunitoki/Projects/juce/bin/libejucedebug.a(ejuce_ScriptableEngine.o) reference to undefined std::__default_alloc_template<true, 0>::deallocate(void*, unsigned long)
/Users/kunitoki/Projects/juce/bin/libejucedebug.a(ejuce_ScriptableEngine.o) reference to undefined std::__default_alloc_template<true, 0>::allocate(unsigned long)
/Users/kunitoki/Projects/juce/bin/libejucedebug.a(StandardPhilToolbar.o) reference to undefined std::__default_alloc_template<true, 0>::deallocate(void*, unsigned long)
/Users/kunitoki/Projects/juce/bin/libejucedebug.a(StandardPhilToolbar.o) reference to undefined std::__default_alloc_template<true, 0>::allocate(unsigned long)
collect2: ld returned 1 exit status[/code]

now this turned into a mess ;/ what i could do ?
ah the same stuff compiles correctly on gcc 3.3 and 3.4 on linux…

No idea, sorry!

ok i found. i was not declaring the compiler to be 3.3 from .xcconfig (was using 4.0)… now is working correctly ! thanx to me :wink: