I’m using Visual Studio 2008 SP1 on Windows 7 Pro SP1 64.
I’ve just switching my project to link Juce dynamically.
Everything was going fine except some link errors because some part of Juce was not exported.
My project create some instances of Juce public nested classes like
class Image::BitmapData, or struct CodeEditorComponent::ColourScheme.
My project also uses some Juce global functions like
OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, xxx);
If I add JUCE_API keyword to all of this definitions, linkage succeed.
Visual Studio also complains about some exposed Juce classes who inherit from unexposed Juce classes
warning C4275: non dll-interface class ‘BaseClass’ used as base for dll-interface class ‘ChildClass’
BaseClass can be class TextEditor::InputFilter, class TextEditor::Listener and class Slider::Listener.
adding JUCE_API keyword to those base classes definitions makes this warning disappear.
Do you think this change can be integrated to Juce ?
Thanks in advance.