DISCLAIMER: This may be more of a Visual Studio question than a Projucer question, but any assistance would be appreciated.
SUMMARY OF QUESTION: What is the best practice for creating/extending a project with Projucer, using MS Visual Studio 2017 as the export target? Specifically, should I be adding source code only from within the Projucer and not from inside the MS VS2017 solution after the original export?
DETAILS:
So… I have been working with JUCE for a few weeks now and have been able to create demos with relative ease, following the tutorial write-ups. I asked a question on this forum previously about how to get a Projucer-exported project to link to my external (non-JUCE) code, which was swiftly answered here (thanks again Alassandro!) and subsequently implemented on my end without issue.
With that obstacle out of the way, I’ve been attaching my own external classes which are working, but I’ve noticed when I try to create new classes from within Visual Studio, that VS seems to be ignorant of JUCE modules. For example, I wanted to create a class that inherits from ThreadWithProgressWindow, but MS VS2017 couldn’t find the base class.
My work-around has been to create blank source files, write the class structure and contents manually, then save the file and add it to the JUCE project’s “source” folder from within VS2017, after which point, the VS2017 solution seems to have an awareness of ThreadWithProgressWindow, allowing me to now inherit from it.
I see there is a way to add new source files to existing JUCE projects from within Projucer, but from what I’ve read, taking this approach may overwrite my VS2017 solution, eradicating all of the external source files I’ve painstakingly added to the VS2017 solution and subsequently organized and included so that the JUCE main component can work with my external classes.
Surely there is a better way to go about all of this. I feel like I have some fundamental misunderstanding about how the Projucer works with MS VS2017. Any enlightenment, or pointers to documentation that will explain this better than the tutorials and Projucer help documents have done so far, would be much appreciated!
Thanks for taking the time to read this, and thanks in advance for any and all assistance in this matter.
-David