Introduction - License - Installation - Building with Visual Studio - Building with VC6 - Building with XCode - Building on Linux - Building with Android -

JUCE

Introduction

JUCE is an all-encompassing C++ class library for developing cross-platform applications and plugins.

For lots more help and information, please visit the JUCE website.

A complete set of class documentation is available here.

License

JUCE is released under the Gnu Public License, which means it can be freely copied and distributed, and costs nothing to use in open-source applications.

If you'd like to release a closed-source application that uses JUCE, commercial licenses are available for a fee - click here for more information on pricing and terms.

Installation

Installing the source code

There are a few ways to install a copy of JUCE:

The JUCE source code all lives in a folder called, unsurprisingly, juce, which you can unzip and put somewhere on your system.

Building the demo applications

In the juce/extras folder, there are a few demo apps to get you started and to show off JUCE's features. Each one contains a folder called Builds, containing various projects for different compilers and platforms. These should all work straight out-of-the-box if you load them into the appropriate development environment. Some of them (e.g. the audio plugin demo) may require 3rd party libraries or headers to have been installed, but I've made sure that any include statements that may not be present have comments with a detailed explanation of what's going on, so if you hit a compile error, just have a look at the code it's pointing to and everything should become clear.

Creating a new application with the Introjucer

By far the easiest way to create a new cross-platform JUCE app (or audio plugin) is to let the Introjucer do the hard work of creating all your projects with the correct settings.

You can either build the Introjucer yourself from the source (in juce/extras/Introjucer), or download a pre-built binary from SourceForge.

If you run it and select the 'new project' menu item, it'll walk you through the stages in setting up an app or plugin project, and will automatically spit out a collection of project files for all the different platforms and compilers that you need.

Requirements for building on different platforms

Microsoft Visual Studio 2005 or later

JUCE projects should build and run with no extra set-up needed in all versions of Visual Studio from 2005 onwards.

By far the easiest way to create a new project is by letting the Introjucer do all the hard work, as explained above. But if you really insist on creating one manually, here are a few tips:

  1. Create your new application project as an 'empty' WIN32 application - avoid saying yes to MFC or any of the other rubbish that Visual Studio might offer you.
  2. Make sure that your project has exception handling and run-time type information (RTTI) turned ON.
  3. Have a look at the example projects, demo projects, or the API documentation about the JUCEApplication class to find out how to create the application launch code.

Microsoft Visual Studio 6

JUCE can still be compiled with VC6, although support for this will be dropped at some point in the future... but here are some tips for getting it going:

  1. Install the latest Platform SDK from Microsoft.
  2. Set up your include and library search paths. The first few items on your include path should look like this (obviously you might have things installed in different places, but the order is important!):
    C:\Program Files\Microsoft Platform SDK\include
    C:\Program Files\Microsoft Platform SDK\include\crt
    C:\Program Files\Microsoft Platform SDK\include\mfc
    C:\mycode\juce
    ...
    And the library search path should begin like this:
    C:\Program Files\Microsoft Visual Studio\VC98\LIB
    C:\Program Files\Microsoft Platform SDK\lib
    C:\mycode\juce\bin
    ...

Note that there's a rather lame bug in VC6 that causes an internal compiler error if you include filenames that are too long. This can get triggered if you put the juce folder in a deeply-nested directory (such as your user home directory). Unfortunately I think the only workaround for this is to move the source tree to a shallower directory.

XCode on OSX

Use XCode 3 or later. You might want to tick the option to install the 10.4 SDK if you want to build binaries that are backward-compatible with 10.4 and PPCs. If you're going to build for iOS, you'll obviously need the iOS version of XCode.

The easiest way to create a new application is by using the Intojucer, but here are a few tips if you're mad enough to want to set one up manually:

Linux with GCC

Most linux distros should come with the tools you need. You may need to install the development packages of freetype, X11 and pthreads if they're not already available.

If you've enabled the JUCE_USE_XINERAMA option, then you'll also need to install the Xinerama package. And you'll need the GL and GLU libraries if you've enabled JUCE_OPENGL

The makefiles that are generated by the Introjucer can be run by "make CONFIG=Debug", or "make CONFIG=Release". You can also use "make clean" to delete the intermediate files.

Android

***

- Copyright 2005 Raw Material Software Ltd -