The same principle applies with GCC 11. The flags come as -std=gnu++17 -std=c++11. I imagine this behaviour has changed since GCC 9 and the last flag is taken as the one to use. What is strange is if I prepend -std=c++14, the build works. In any case, only one flag should be present.
work/GLideN64-1956f78234f634553ccb8e9e8323cbd67da549d9/src/Graphics/OpenGLContext/opengl_ContextImpl.cpp: In member function ‘virtual void opengl::ContextImpl::resetCombinerProgramBuilder()’:
work/GLideN64-1956f78234f634553ccb8e9e8323cbd67da549d9/src/Graphics/OpenGLContext/opengl_ContextImpl.cpp:414:49: error: ‘make_unique’ is not a member of ‘std’
work/GLideN64-1956f78234f634553ccb8e9e8323cbd67da549d9/src/Graphics/OpenGLContext/opengl_ContextImpl.cpp:414:49: note: ‘std::make_unique’ is only available from C++14 onwards
This is the case with the build here: https://github.com/gonetz/GLideN64/runs/4272927989?check_suite_focus=true even though it's on Windows.
The same principle applies with GCC 11. The flags come as
-std=gnu++17 -std=c++11
. I imagine this behaviour has changed since GCC 9 and the last flag is taken as the one to use. What is strange is if I prepend-std=c++14
, the build works. In any case, only one flag should be present.