Configuring Juce with Visual Studio 2015


#1

After studying c++ for about a month, I decided to learn the main principles working with Juce. Indeed, my questions may be divided into separate threads. But at least for the time, I don't do that yet. After reviewing c++ programming tutorials by thenewboston, I understood the main principles underlying c++. I also have a little bit of experience with qt framework. By returning to the point, I need to configure a juce library to work with VS 2015. Introjucer is not appropriate in this case, because I need some external tools, such as astyle and some VS extensions. As I know, Juce c++ library consists of .h header modules. On the basis of the official juce examples from the download page, I understand that is required to drop and drop .h files to solution explorer of VS. It's being done in the official examples. However, it's inappropriate to compile the examples immediately. As far as I know, some configuration of project properties is required in every VS project. As I know, it's required to configure some properties: package dependencies, libraries, linker, etc.  And so, what is the specific configuration, that is required in order for the juce to work well with Visual Studio?


#2

Sorry if this comes across as condescending, it isn't meant that way at all!  Your main issue here is that you're super new to C++ and don't really understand what's happening yet, which is expected since C++ is relatively pretty complicated in general.  JUCE isn't the most straightforward for beginners either.  The scary (exciting?) thing you'll figure out soon is that you do not, in fact, understand the principles underlying C++ yet, but you will!

That said, your specific issue here is that you can and should be using the Introjucer to set all of this up, because it's 100% appropriate and will save you from a LOT of the kinds of headaches you're having now.  It will generate every bit of the configuration for VS2015 with a couple clicks, so you don't have to do any of what you're trying to do now.  You can use it with literally any other external tools/libraries/extensions because it doesn't replace Visual Studio and it's not a compiler.  ALL it does is automatically configure Visual Studio so that IT can compile and build your project.

1) Astyle is not something you need with Visual Studio, VS can format your code automatically or on-demand natively. Don't even bother with Astyle at all.

2) VS Extensions are exactly that: Extensions to Visual Studio.  They're 100% independent of the application you're writing, be it JUCE or native C++ or anything else.  They have absolutely nothing to do with C++, JUCE, or the Introjucer.

3) Even if you end up using actual external, independent frameworks/libraries, these are ALL compatible with the IntroJucer.  It has fields for configuring all of them within the Introjucer GUI. Example: I have an Introjucer-created project that also uses Boost, FFTW3, and Aquila, which were all set up through Introjucer.  At this point, you don't need to understand how to set this up, you can cross that bridge later.  It's just important to know that when you DO need to use something, it doesn't preclude your using the Introjucer.

If you go back and look at those official juce examples with this in mind, everything'll make sense.  In particular, because of the Introjucer, it actually IS appropriate (and desired) to compile those examples immediately, which is why the examples are shown in that manner.  The reason is because all of that configuration of project properties you listed IS what the Introjucer does.  It handles 100% of setting up all your dependencies, libraries, linker config, compiler options, etc and finishes by spitting out ALL of it already structured specifically for VS2015.  You run Introjucer, use it like the example shows, then open the result in VS2015 and hit Build.  It will compile, link, and run flawlessly with 0 config from you :)

Down the road, if you want to move away from the Introjucer for some reason, that's fine, but use it now so you can concentrate on learning C++ and Juce rather than pounding your face into a wall repeatedly.  If you haven't already found it, http://www.redwoodaudio.net/Tutorials/juce_for_vst_development__intro.html is a really nice tutorial series you can use along with the official example.  It will walk you through Introjucer to Visual Studio to writing and running a full plugin.


#3

For info, I've just installed a fresh copy of Windows 10 and Visual Studio 2015. All works fine out of the box with the Introjucer...


#4

Hi there,

we have some tutorials to help you get started with JUCE, including using it on Windows with Visual Studio 2015 (which works just fine by the way!)

http://learn.juce.com/tutorials

Check out "Getting started with the Introjucer".