Introjucer fails to build without a C++11 compiler


#1

Hi,

Introjucer fails to build with my compiler due to scoped enum (such as “CodeBlocksOS::linux”).

( https://github.com/julianstorer/JUCE/blob/master/extras/Introjucer/Source/Project%20Saving/jucer_ProjectExport_CodeBlocks.h#L78 )

AFAIK that feature is supported only since C++11. It’s fine with the scope operator removed.

In file included from /Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:32:
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h: In static member function 'static CodeBlocksProjectExporter* CodeBlocksProjectExporter::createForSettings(Project&, const juce::ValueTree&)':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:77: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:78: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:82: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:83: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h: In member function 'virtual bool CodeBlocksProjectExporter::isCodeBlocksWindows() const':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:103: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h: In member function 'virtual bool CodeBlocksProjectExporter::isCodeBlocksLinux() const':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:104: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h: In member function 'juce::StringArray CodeBlocksProjectExporter::getDefines(const ProjectExporter::BuildConfiguration&) const':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:173: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h: In member function 'juce::StringArray CodeBlocksProjectExporter::getIncludePaths(const ProjectExporter::BuildConfiguration&) const':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:255: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h: In member function 'void CodeBlocksProjectExporter::createBuildTarget(juce::XmlElement&, const ProjectExporter::BuildConfiguration&) const':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:327: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h: In member function 'void CodeBlocksProjectExporter::addProjectLinkerOptions(juce::XmlElement&) const':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_CodeBlocks.h:360: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp: In static member function 'static juce::Array ProjectExporter::getExporterTypes()':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:56: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:57: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp: In static member function 'static ProjectExporter* ProjectExporter::createNewExporter(Project&, int)':
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:78: error: expected primary-expression before '(' token
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:78: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:78: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:79: error: expected primary-expression before '(' token
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:79: error: 'CodeBlocksOS' is not a class or namespace
/Users/nicolas/Work/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:79: error: 'CodeBlocksOS' is not a class or namespace

#2

Yes, this is something that older compilers moan about - thanks, I'll make sure it's ok..