I'm investigating developing an application that will be used on both OS X and Windows. One of the desires/requirements for this application is to be able to extend support for various functionality over time.
For example, I would like to define an interface for compressing audio (or other random functionality) have have a series of libraries to perform different types of compression. At some point in the future I may want add a new codec library that can be shipped to existing customers. They would install the in codec library (wrapped in my custom library with a predefined interface).
This type of thing can be acomplished using COM on Windows.
One of the primary things I want to insulate myself from is requiring the exact same compiler for building these new libraries. It's reasonable to require the same compiler settings and not using STL in the interfaces (only using POD data types).
Are there existing tools in JUCE to support this type of workflow?
If not, are there any recommendations as how to support this requirement (libraries, techniques, etc.)?