C++11 requirement?

Hi,
Does Juce require C++11 at this point? The develop branch has a new class called FlexItem with lots of class member initialization. If it does require C++11, I’d suggest some sort of error or warning.

Some of our newer classes do require C++11 - on older compilers the library should still compile, but without those newer features. If you’ve got a system where that’s not working as it should do, let us know what your settings are!

Well, I just checked with MS that VS2012 do not support class member initialization such as:

class
{
FlexBox* associatedFlexBox = nullptr;
};

I’m all for promoting newer technologies, but atm it would break our build system.

Well no, we don’t expect it to work in VS2012. Like I said, the class should just not be available on pre-C++11 compilers, it’s wrapped in an #if statement so it’s just not defined on older systems.

I think the problem here is that you use : #if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS for the Flex classes. VS2012 is new enough to support move semantics (as is even VS2010) but old enough to not support for example class member initialization on declare.

Ah, ok - thanks, we can sort that out!

OK this is fixed on develop now. Thanks for the heads up.

Thank you. This will give us some more time to update our tools.