# Basic "starting point" tutorial code

**URL:** <https://forum.juce.com/t/basic-starting-point-tutorial-code/12449>\
**Category:** General JUCE discussion\
**Created:** [July 12, 2007, 11:30am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449 "2007-07-12T11:30:18Z")\
**Posts on this page:** 19\
**Page:** 2

<div class="post-metadata">

**Author:** ![ZenoArrow](https://avatars.discourse-cdn.com/v4/letter/z/3bc359/32.png) [@ZenoArrow](https://forum.juce.com/u/ZenoArrow)\
**Post date:** [February 22, 2010, 1:31am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/21 "2010-02-22T01:31:20Z")

</div>

Hi all, first post, looking forward to getting going with Juce but just need a bit of help to get a Juce project compiling.

Following haydxn’s guide, I’ve got to the stage where I’ve got only a handful of seemingly related bugs (7 in total, but they seem to stem from one in particular). I’m using Qt Creator, and have got ApplicationStartup.cpp, MainAppWindow.cpp and juce\_amalgamated.h all in the same folder and in the same project (I edited out the references in the .cpp files to the other header files and replaced these with references to the amalgamated header file, got a lot fewer errors by doing this). When building the project Qt Creator references the code on line 57 of ApplicationStartup.cpp (MainAppWindow\* theMainWindow;), mentioning the following error:

“F:/C++ Projects/JuceHelloWorld/ApplicationStartup.cpp:57: error: ISO C++ forbids declaration of ‘MainAppWindow’ with no type”

Any ideas on why this is happening? Do I need to compile MainAppWindow.cpp seperately before compiling the whole program? Thanks in advance. :mrgreen:

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [February 22, 2010, 9:14am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/22 "2010-02-22T09:14:12Z")

</div>

You’d be much better off starting from the projects in extras/example projects or the demo - haydxn’s tutorial code is way out of date now…

---

<div class="post-metadata">

**Author:** ![ZenoArrow](https://avatars.discourse-cdn.com/v4/letter/z/3bc359/32.png) [@ZenoArrow](https://forum.juce.com/u/ZenoArrow)\
**Post date:** [February 23, 2010, 11:23pm UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/23 "2010-02-23T23:23:47Z")

</div>

Okay, thanks jules, will follow your advice. The important thing for me is just to get something compiling as a proof of concept, I’d be learning Juce more in depth after this.

---

<div class="post-metadata">

**Author:** ![vishvesh](https://avatars.discourse-cdn.com/v4/letter/v/85e7bf/32.png) [@vishvesh](https://forum.juce.com/u/vishvesh)\
**Post date:** [February 25, 2010, 11:46am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/24 "2010-02-25T11:46:18Z")

</div>

Juce Demo would be a good starting point.

You could also give this a try. [http://code.google.com/p/juced/](http://code.google.com/p/juced/).

---

<div class="post-metadata">

**Author:** ![ZenoArrow](https://avatars.discourse-cdn.com/v4/letter/z/3bc359/32.png) [@ZenoArrow](https://forum.juce.com/u/ZenoArrow)\
**Post date:** [February 26, 2010, 11:42pm UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/25 "2010-02-26T23:42:55Z")

</div>

[quote=“vishvesh”]Juce Demo would be a good starting point.

You could also give this a try. [http://code.google.com/p/juced/](http://code.google.com/p/juced/).[/quote]

Thanks for the advice vishvesh.

I’ll stay away from juced for the time being, want to start as basic as possible before looking into new classes.

Tried to compile the Juce demo, didn’t have any luck getting something working, I’m guessing that I’m doing something basic/fundamental wrong. Hopefully if I talk through the steps I took someone will pick up on what the issues are…

In Qt Creator, started new project (blank Qt project so that no files were included as standard), added following files to this project (note that all files were found in extras\juce demo\src):

Source files:  
ApplicationStartup.cpp  
BinaryData.cpp  
juce\_LibrarySource.cpp  
MainDemoWindow.cpp

Header files:  
BinaryData.h  
juce\_AppConfig.h  
jucedemo\_headers.h  
MainDemoWindow.h

MM file:  
juce\_LibrarySource.mm

When I compiled I got 198 warnings and 47 errors.

Firstly, what are .mm files (a quick web search indicates the extension is used with mind map software)? I only tried to include juce\_LibrarySource.mm in the project because it was with the rest of the files in extras\juce demo\src but I got the same amount of warnings and errors when I tried to compile without the .mm file, so I’m guessing it’s not needed for compilation?

Example errors included indicating I needed header files like crtdbg.h and comutil.h, which are Windows only header files. If these header files are so key to getting Juce compiling on Windows this would be good to indicate in a readme file.

Some more interesting errors occurred when I tried to included juce\_amalgamated.cpp and juce\_amalgamated.h in the project, for example the .cpp file contains…  
// Auto-links to various win32 libs that are needed by library calls…  
#pragma comment(lib, “kernel32.lib”)  
#pragma comment(lib, “user32.lib”)  
…

I seem to get errors for all of these statements.

Can someone please help me, this is really doing my nut in! Thanks in advance. 🙂

---

<div class="post-metadata">

**Author:** ![pwhittemore](https://avatars.discourse-cdn.com/v4/letter/p/b77776/32.png) [@pwhittemore](https://forum.juce.com/u/pwhittemore)\
**Post date:** [May 1, 2010, 12:23am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/26 "2010-05-01T00:23:39Z")

</div>

Have these files been moved elsewhere? It looks like the domain in the links provided has expired. ☹

[Edit: Oops, I thought I was replying to the other thread with Hayden’s PDF and zip files. Ignore this post for now while I read thread too and try to catch up on what’s going on these days.]

Thanks

---

<div class="post-metadata">

**Author:** ![Boomi21](https://avatars.discourse-cdn.com/v4/letter/b/779978/32.png) [@Boomi21](https://forum.juce.com/u/Boomi21)\
**Post date:** [May 27, 2010, 5:45am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/27 "2010-05-27T05:45:22Z")

</div>

Thanks for taking time to help

---

<div class="post-metadata">

**Author:** ![peteatjuce](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/peteatjuce/32/2347_2.png) [@peteatjuce](https://forum.juce.com/u/peteatjuce)\
**Post date:** [January 13, 2011, 8:35am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/28 "2011-01-13T08:35:19Z")

</div>

Just wondering… is there any particular reason why the iOS/Mac (and Win/Linux, fwiw!) projects use the separate library mm files ([JuceLibraryCode1.mm](http://JuceLibraryCode1.mm) etc.), rather than the juce amalgamated mm/cpp file?

As I say - just wondering. 🙂

Pete

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [January 13, 2011, 9:24am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/29 "2011-01-13T09:24:04Z")

</div>

For iOS, the reason is that the compiler crashes if you give it the full-size amalgamated file. For the others, it’s done that way because it makes it easier to debug code in the the library, because they directly include the individual cpp files instead of the amalgamated one.

---

<div class="post-metadata">

**Author:** ![peteatjuce](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/peteatjuce/32/2347_2.png) [@peteatjuce](https://forum.juce.com/u/peteatjuce)\
**Post date:** [January 13, 2011, 9:31am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/30 "2011-01-13T09:31:26Z")

</div>

> [@jules](#):
>
> For iOS, the reason is that the compiler crashes if you give it the full-size amalgamated file.

Good grief! Is that true even for GCC 4.2 …? I shall have to try it. 🙂

---

<div class="post-metadata">

**Author:** ![mige0](https://avatars.discourse-cdn.com/v4/letter/m/9fc29f/32.png) [@mige0](https://forum.juce.com/u/mige0)\
**Post date:** [March 10, 2011, 10:23am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/31 "2011-03-10T10:23:28Z")

</div>

beeing a total noob to GUI programming I wonder why the Jucer is not available as a ready to use \*.exe (for Win) or \*.deb (for Ubuntu) ?

I’ve been reading a lot of pages and postings - but still can’t wrap my head around how to best get it started.

I downloaded the recommended Visual C++ Express and - wow, what a breeze - start it and get to work…  
BUT - if to use that one to make some Juce GUI - how to integrate the Juce library - am I totally off ???  
Anybody who can provide me a step by step guidance ?

I mean - beforehand of what is outlined in the tutorial regarding how to use Juice / the Juicer it should be stated what steps to take to set it up working - no??  
Even better to have a \*.exe / \*.deb to install !

Best  
Michael

---

<div class="post-metadata">

**Author:** ![Sergex](https://avatars.discourse-cdn.com/v4/letter/s/6bbea6/32.png) [@Sergex](https://forum.juce.com/u/Sergex)\
**Post date:** [April 13, 2011, 10:45am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/32 "2011-04-13T10:45:47Z")

</div>

Hello,

I am trying to get things working on Windows to be able to develop interfaces with the framework, however I’m getting a bit stuck with just the basic setup things.

The first thing I did was use the Jucer to generate a project for Visual Studio. IT did that smoothly and kept the default options in the jucer. So now I have my project setup in Visual Studio.

Under Juce Library Code I have the files:  
AppConfig.h  
JuceHeader.h  
JuceLibraryCode1.cpp  
JuceLibraryCode2.cpp  
JuceLibraryCode3.cpp  
JuceLibraryCode4.cpp

And under the Source Folder in my solution explorer I have the starting point files of this tutorial. Since a main.cpp starting file was already generated I just adjusted everything accordingly.

So I have in the Source folder:  
MainComponent.h  
MainAppWindow.h  
MainAppWindow.cpp  
Main.cpp (the starting file)

I try to compile and I get 1 error which is :  
1\>LINK : fatal error LNK1104: cannot open file ‘jucelib\_static\_Win32\_debug.lib’

I did all the necessary configuration steps already but I can’t seem to figure out why this error is happening. Please if someone can lend me some guidance it would be deeply appreciated!

Thanks.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [April 13, 2011, 11:09am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/33 "2011-04-13T11:09:23Z")

</div>

If you’re trying to build a plugin with yesterday’s tip, then sorry! There was a blooper in there which I’ve now fixed - grab the latest code and try again!

---

<div class="post-metadata">

**Author:** ![Sergex](https://avatars.discourse-cdn.com/v4/letter/s/6bbea6/32.png) [@Sergex](https://forum.juce.com/u/Sergex)\
**Post date:** [April 13, 2011, 12:28pm UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/34 "2011-04-13T12:28:36Z")

</div>

[quote=“jules”]If you’re trying to build a plugin with yesterday’s tip, then sorry! There was a blooper in there which I’ve now fixed - grab the latest code and try again!

I’m sorry not sure what you mean by grab the latest code. (If this is post was not related to my earlier compiling error, sorry!)  
Do you mean download the framework again?

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [April 13, 2011, 12:30pm UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/35 "2011-04-13T12:30:31Z")

</div>

Yes, grab the latest version from GIT or by using the Introjucer.

---

<div class="post-metadata">

**Author:** ![Sergex](https://avatars.discourse-cdn.com/v4/letter/s/6bbea6/32.png) [@Sergex](https://forum.juce.com/u/Sergex)\
**Post date:** [April 13, 2011, 2:24pm UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/36 "2011-04-13T14:24:10Z")

</div>

Is there any recommended steps to take when setting up a project in IntroJucer for Visual Studio ?  
I downloaded the latest code and everything and somehow keep getting the same error…

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [April 13, 2011, 3:14pm UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/37 "2011-04-13T15:14:42Z")

</div>

> [@](#):
>
> I downloaded the latest code and everything and somehow keep getting the same error…

There should be a DONT\_AUTOLINK\_TO\_JUCE\_LIBRARY setting at the top of the juce\_PluginHeaders.h file. If it’s not there, then you haven’t got the latest version.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [April 13, 2011, 3:16pm UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/38 "2011-04-13T15:16:34Z")

</div>

…hmm, and this thread contains some extremely out-of-date posts that really shouldn’t be getting bumped, so I’m locking it - please start a more relevant thread if you still have trouble.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [May 12, 2017, 10:07am UTC](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449/39 "2017-05-12T10:07:15Z")

</div>



[Previous page](https://forum.juce.com/t/basic-starting-point-tutorial-code/12449.md?page=1)
