Can't set live build C++ version

I even tried the compiler options and set “/std:c++latest”, but it still doesn’t build. No missing includes or anything, but when

#include <regex>

is used, I get errors related to missing compiler features.

I would love to get this working correctly, so I can prototype my components faster.

Unfortunately this is a more fundamental problem than setting the C++ standard.

The Projucer uses LLVM’s JIT under the hood, but the JIT is far from feature complete and cannot compile some of the more common std:: headers - it will also choke on stringstream, map and a few more :frowning: . Fixing this in LLVM-land is far from trivial. JUCE contains it’s own implementation of std::function which we use with the live build (and when targeting very old versions of OS X), but replacing any of the others would be a much bigger job.

@ed95 is currently upgrading the live build backend of the latest version of Clang, but, unfortunately, there’s no guarantee that it will improve things in this regard.

So my only option is to create a “build my widget” project that avoids using std:: stuff as much as possible, so I can use the live build to prototype, and upon completion copy it to my real project?

It might be possible to use the JUCE_PROJUCER_LIVE_BUILD macro to conditionally exclude problematic include statements and blocks of code.

Unfortunately it would get too messy as too much code relies on these classes and the inter-dependencies.

But using a dummy project for prototyping is good enough.

Thanks for sorting it out for me :smiley: