Cabbage Logo
Back to Cabbage Site

Compiling cabbage under windows

NOt such a big slug but :
In the jucer files, Cabbage lite and Cabbage IDE are set to compile with VS 2017 but the plugins are set to compile with VS2015. Is this normal or should all of them be set to be built with VS2017 ?

I’m not sure what you mean? The Projucer doesn’t set anything to build with anything, it merely create projects. We decide what to use to build. Do you mean exporters? My .jucer files have exporters for both 2015 and 2017?

Yes, the selected exporter by default is set to 2017 for ide and lite, but to 2015 for the plugins (in the combobox top center of projucer).

Also, I am getting a lot of errors while building because of Paths to Juce modules and/or source code.

If the tree is the following:
....../Documents/JUCE/Modules ....../Documents/Cabbage

setting within projucer to find its files into ....../Documents/JUCE/Modules, I get the following error

"C:\Users\JM\Documents\Cabbage\Builds\VisualStudio2017\Cabbage.sln" (default target) (1) ->
"C:\Users\JM\Documents\Cabbage\Builds\VisualStudio2017\Cabbage_App.vcxproj" (default target) (2) ->
(ClCompile target) ->
  c1xx : fatal error C1083: Cannot open source file: '..\..\JuceLibraryCode\BinaryData.cpp': No such file or directory
[C:\Users\JM\Documents\Cabbage\Builds\VisualStudio2017\Cabbage_App.vcxproj]

but setting the path to JuceLibraryCode\modules allows building flawlessly.
There might be a path somewhere in the code which is not set correctly.

Hope this helps.

Do your jucer plugin files not have an exporter for 2017?

For building Cabbage, I always remove my local source code directory and do a git clone in order to make sure that I stick to your source code.
Then I edit the bat file for building to provide the path to the PROJUCER ( which not located as yours).
Then open the VS studio 2017 "x64 native Tools Command prompt for VS 2017" (thx to Microsoft for such a long name).
Launch the batch file…and get errors. So, I need to open every .jucer file, in order to edit the path for finding the juce modules and also to change the exporter from 2015 to 2017 for the plugins.

Maybe, I am not very clear, so maybe asking it as a question might help :
In the .jucer files, why is the path for finding juce modules
CabbageIDE.jucer
in Linux Makefile : ../JUCE/modules
CabbageLite :
in Linux Makefile : ../sourcecode/JUCE/modules

Shouldn’t the modules be found at the same place for all the cabbage suite components?

Teasing you : I suspect that you have Juce in every single directory on your pc… so when you build Cabbage, it always work ! :smiling_imp:

You really don’t need to do this. You’re just making work for yourself and it kind of defeats the purpose of using git at all. When I push changes, you only need to do a git pull. If you have conflicts in your source tree git will inform you.

To avoid this, a) stop recloning the entire repo, and b) rename your bat script. Then git won’t overwrite it when you git pull. Just remember to run your modified script.

I’ve never used this combobox. As far as I am aware changing the item in that combobox makes absolutely no difference to what gets exported when you save the project. That’s only really for when you open an IDE from within the Projucer. Each time you save a project in the ProJucer it will write ALL exporter files to disk if there are changes to them.

You shouldn’t have to do this. I never bother and it builds fine for me. I’m pretty sure that setting is for when you are using a Projucer that exists outside the JUCE source tree. For example, when you download it online. Here’s a screenshot of my settings relating to JUCE paths.