Introjucer fails to build with C++98


#1

Is that the Introjucer still supposed to build with C++98? It fails again (scoped enum etc…). You should probably explicitly require C+11 compiler if you don’t intend to test it.


#2

Thanks, I'll take a look. We didn't deliberately break it, but we may make C++11 a requirement for the introjucer pretty soon. I think the overwhelming majority of people have modern compilers they could use to at least build the introjucer, even if some people can't yet use C++11 for their own production code.


#3

..actually, can't seem to find a problem when I turn off C++11... What exactly is failing when you do it?


Old vercions of JUCE
#4

The one in “jucer_ProjectExport_AndroidStudio.h” (line 250) is probably due to scoped enum.

For others, the “findAllProjectItemsWithPredicate” template is not instantiate with the static predicate, but i’m not sure if it is related to the standard or the age of my compiler.

In file included from /Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:31:
/Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_Android.h: In member function 'void AndroidAntProjectExporter::writeAndroidMk(const juce::File&) const':
/Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_Android.h:604: error: no matching function for call to 'AndroidAntProjectExporter::findAllProjectItemsWithPredicate(Project::Item&, juce::Array&, AndroidAntProjectExporter::writeAndroidMk(const juce::File&) const::Predicate) const'
In file included from /Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExporter.cpp:32:
/Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h: In static member function 'static juce::String AndroidStudioProjectExporter::sanitisePath(juce::String)':
/Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h:250: error: 'class juce::File::SpecialLocationType' is not a class or namespace
/Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h: In member function 'juce::StringArray AndroidStudioProjectExporter::getCPPFlags() const':
/Users/nicolas/Temp/JUCE/extras/Introjucer/Builds/MacOSX/../../Source/Project Saving/jucer_ProjectExport_AndroidStudio.h:410: error: no matching function for call to 'AndroidStudioProjectExporter::findAllProjectItemsWithPredicate(Project::Item&, juce::Array&, AndroidStudioProjectExporter::getCPPFlags() const::Predicate) const'

#5

Ok, thanks, I'll tidy those up.


#6

Thanks.

Is there any policy to get the introjucer working on OS X 10.6 platform in the future (it seems not provided built in juce-grapefruit-osx.zip)?


#7

Definitely not something we care too much about. Only a tiny minority of all Mac users still use 10.6, and not many developers still target 10.6 at all. And of the developers who do still target 10.6, I'd expect very few on them to actually use 10.6 themselves as their desktop platform. You'll have a much better time building on the latest OSX and setting your deployment target back to 10.6.


#8

You can only use the C++11 std library with 10.7 and later. I think the only users still using 10.6 aren’t paying for their software.

Rail


#9

“I think the only users still using 10.6 aren’t paying for their software.”

???


#10

Perhaps he means cracked versions of some DAWs and plugins only work up to OS-X 10.6? So that could make some portion of Mac users to stay behind with that OS-X verson...

If I recall right, updating to OS-X 10.7 was already free, as have been all the OS-X updates since then. So the problem in updating can't be the price of the OS-X updates. laugh 


#11

I use OS X 10.6 on some machines for a valid reason. I can not upgrade. Moreover I mainly use GNU/Linux now. I understand Jules position that do not care about the (very) old Apple OS. That's a pragmatic choice. However LTS for me is something that matters. The Rail Jon Rogut assertion is OT and an injury for people who are paying for softwares and observe often more disappointment that people that don't.