Introduction - License - Installation - Building the library
JUCE is an all-encompassing C++ class library for developing cross-platform applications.
A complete doxygen-created API guide is available here as HTML, or can be downloaded as a precompiled Windows help file from the downloads page.
For more help and information, please visit the JUCE website.
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.
The JUCE source code all lives in a folder called, unsurprisingly, juce
, which you can unzip
and put somewhere on your system.
To compile the library, there is a subfolder juce/build
that contains projects for different
operating systems and compilers.
Inside the juce
folder is a demo application that shows off a few of Juce's features.
The juce/demo/build
folder contains projects and workspaces for the various platforms and compilers.
To compile the JUCE .lib files from the source code:
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:
$(VSInstallDir)VC\lib C:\Program Files\Microsoft Platform SDK\lib C:\mycode\juce\bin ...
juce/build/win32/vcexpress/JUCE.vcproj
Then, to create and build an application:
juce/projects
and rename/customise
it, or create a new application project as an 'empty' WIN32 application - avoid saying yes to
MFC or any of the other rubbish that Visual Studio might offer to pollute your application with.juce.h
in all your source files (it's best to
put this in a precompiled header).juce/bin
directory.
This path can be set globally, or can be added to your project's linker settings.JUCEApplication
class to find out how to create the application launch code.To compile the JUCE .lib files from the source code:
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 ...
juce/build/win32/vc6
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.
For info on building an application that links to Juce, see the VCExpress notes above above.
To compile the JUCE binaries from the source code:
Juce.xcodeproj
file in juce/build/macosx
libjuce.a
(release) and libjucedebug.a
(debug), which will appear
in the juce/bin
directory.Then, to create and build an application:
juce/projects
and rename/customise it, or
create a new "Carbon Application" project.juce.h
in all your source files.JUCEApplication
class as your application launcher - see the API documentation for this
class for more details, or have a look at the example projects, or demos.juce.xcodeproj
file into the project's "External Frameworks and Libraries"
list.Carbon.framework IOKit.framework CoreAudio.framework CoreMIDI.framework QuickTime.framework OpenGL.framework AGL.frameworkIn future there may be other frameworks that you'll need to link with to support new JUCE features. (It should be pretty obvious from the link-time error when one of these is missing).
\juce\build\win32\devcpp\juce.dev
C:\Program Files\Microsoft Platform SDK\Includeat the end of your include path to get some of the more recent header files.
juce/bin/libjuce.a
Then, to create and build an application:
main.cpp
JUCEApplication
classlibjuce.a (this will be in your juce/bin/ directory) libwininet.a libdsound.a libole32.a libwinmm.a libgdi32.a libuuid.a libshell32.a libvfw32.a librpcrt4.a (these are all in the Dev-C++ libraries folder)
/juce/build/linux
make CONFIG=Debug
", or use "make CONFIG=Release
"
to build the release version. You can also use "make clean
" to delete the intermediate
files.Then, to create and build an application:
/juce/bin/libjuce.a
and
/juce/bin/libjuce_debug.a
. You'll need to link to one of these in your app, and you'll
also need to link to these libraries:
freetype pthread X11If you've set the
JUCE_USE_XINERAMA
flag in juce_Config.h, you'll also need to link to the
xinerama
library.
And you'll need the GL
and GLU
libraries if you've enabled
JUCE_OPENGL
***