Using Juce with in a Cocoa application


We are a software company which makes development both on MacOs (+iOs) and Windows. We need a cross platform library, which we will use behind our user interfaces for all background logic. To keep the users’ experince same , we prefer to use native GUI elements on Windows and Mac. We use cross-platform libraries for background processes. So in MacOSX basically we need this.

We will start a new Cocoa application and use all GUI features of XCode. We will add the juce library to the project, and using middleware *.mm classes we will reach juce librarry for db, newteok, xml, collection etc. utilities. The problem is that we couldn’t mange to compile a Mac-Style Cocoa application with a juce librarry attached. Either in static or amalgated method, the linker gives a lot of errors.

We wonder if it is possible, what we try to do. If so, can anyone send a simple helloWorld application which uses a native Mac interface (with nib files) with juce librarry included. Or is there very basic thing that we miss?

Mehmed Ali Caliskan
Tekhnelogos Software

Can’t think of any reason why you’d have a problem doing that. I guess you’d just add the juce amalgamated files to your existing project like any other set of source files. Haven’t got an example though I’m sure other people may have done something similar…

Hello Jules

Thanks for your reply. Yes as you have stated, I have started a normal Cocoa application and added the amalgamation files as the example projects. The compilation was OK except a minor problem which I got rid of temporary comment out. But when it was time for linking, to many errors come up from JuceLibrarryCode4.o . An example :

[quote] “_DRTrackLengthKey”, referenced from:
_DRTrackLengthKey$non_lazy_ptr in JuceLibraryCode4.o
(maybe you meant: _DRTrackLengthKey$non_lazy_ptr)

ld: symbol(s) not found
collect2: ld returned 1 exit status[/quote]

I think , due to compilation conditions, some symbols are not visible to others. The error may ne about too many thins, so thats why I need a native xcode project, which is tuned manually (not with jucer) as to use Cocoa front and juce back.

If you can take care, I can send you a simple application which can not be executed in xcode.

M Ali Caliskan

You just need to add the DiscRecording, WebKit and other frameworks

Check the Juce Demo dependencies

Thanks. That solved the problem.