VS2017 Projucer


#1

Thank’s for the VS2017 support in Projucer.

I’m using : JUCE v4.3.1 / Projucer v4.3.1 / Build date : 20 Mar 2017

Maybe I do something wrong but the Visual Studio 2017 solution export generate a strange directory structure. For example

Solution 'Name' (1 project)
---- < Name >
-------- < GUI >
------------ main.cpp 
------------ MainComponent.cpp
------------ MainComponent.h
-------- < Python >
------------ Python.cpp
------------ Python.h
---- < Juce Library Code >
---- < Juce Modules >
---- Name_App
-------- < Références >
-------- < Dépendences externes >
-------- juce_audio_basics.cpp
-------- juce_audio_devices.cpp
-------- juce_audio_formats.cpp
-------- ...
-------- juce_opengl.cpp
-------- juce_video.cpp
-------- main.cpp
-------- MainComponent.cpp
-------- Python.cpp
-------- resources.rc

The root is the Solution for 'Name
All the names enclosing by < > are folders
Name_App is the Projet.

As you can see the structure is not correct. The Project is now named with an additionnal ‘App’ and the $(OutDir) macro become:

[...]\JucerDir\Builds\VisualStudio2017\Win32\Debug\App\Executable.exe

While previous export, say VS2015, the path is for Win32 (x86):

[...]\JucerDir\Builds\VisualStudio2015\Debug\Executable.exe

and for x64:

[...]\JucerDir\Builds\VisualStudio2015\x64\Debug\Executable.exe

Note: This is stricly an esthetical question, the solution himself build and run without problem.

Thank you very much for your answer.


#2

The new structure is to accommodate multiple build targets - it’s much more obvious what’s going on if your build a audio plug-in, where you would have targets such as YourProjectName_SharedCode, YourProjectName_VST, YourProjectName_VST3, YourProjectName_Standalone, …

This isn’t a feature of the VS2017 exporter - all the exporters on all platforms use this new structure.