Bug: Windows Live Build fails to locate <queue>

I’m not sure if there’s something specific I have to do make it cooperate. Presently the forum is coming up dry.

The Projucer Manual shows that I have to specify header paths… but which? It’s really vague.

Ok so there might be a dependency on the MSVC includes according to Win Live Build? ? And the Windows SDK?

Why isn’t this outlined anywhere?

So I’ve added these to the System Header Paths, with the latest Windows SDK set 10.0.18362.0:

C:/Program Files (x86)/Windows Kits/10/Include/10.0.18362.0

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include

Now I’m getting:

ISO C++17 does not allow dynamic exception specifications

I have VS 2017 Pro installed so… does that make a difference?

I also have several Windows SDK installed, and tried them all to no avail:

Note that the SDK version 10.0.18362.0 is the absolute latest.

Ok great - forcing the clang switch -std=c++14, ie: to that of my project’s settings, I can finally move a bit more forward.

It looks like some projucer code needs some updating as it contains a variety of warnings.

Yes, you’ll need the Windows SDK installed but you shouldn’t need to add any extra search paths if you have Visual Studio installed in the standard location (on the C:\ drive). You might need to modify the Windows Target Platform setting in the live-build settings window to match the version of the SDK that you have installed though. At the moment it’s set to 10.0.16299.0 by default as this is the fall creators update which I believe is installed by default.

I’m not sure how that’s relevant in my case; I have locally installed VS2015 Pro and VS2017 Pro. It sounds to me like your system is expecting very particular versions of MSVC in order to work without playing around.

As I mentioned alongside the screenshot I provided:

I also have several Windows SDK installed, and tried them all to no avail

It looks to me like your live build engine requires very specific software to be installed for this to work out of the box. Unfortunately none of these details are outlined anywhere and so I’ve had to work around them with the shotgun strategy.

I should note that I did manage to get this working (finally). It’s just that the process was not obvious at all, in fact I’d call it frustrating more than anything.

Finding the correct VS install location on a Windows machine is unfortunately a non-trivial task. For the live-build .dll we check the HKEY_LOCAL_MACHINE\\SOFTWARE\\WoW6432Node\\Microsoft\\VisualStudio\\SxS\\VS7 registry key and similarly the \\Microsoft\\Windows Kits\\Installed Roots key for the SDK files - are these set on your machine?

I only expected as much!

Now, you mention WoW6432Node but it shows up as WOW6432Node on my machine (Windows 10 Pro x64). I don’t recall exactly - would a differing string case have an effect?

Here’s the former:

The latter exists as well, with a wide assortment of keys. If you have something in mind that I should look for, let me know. For example:

Registry keys are case-insensitive AFAIK so that should be fine, and the entries look correct for both. How are you setting the Windows SDK version? It needs to be specified in the live-build settings and not the exporter, which you can get to by clicking on the live-build tab and then the settings cog in the bottom right corner.

Yeah that looks correct, the only other thing I could think of is that your Visual Studio 2017 Professional installation is interfering. We check the registry keys in descending order of VS versions so it’ll use the 2017 path as the root for the include files. If the installation is incomplete or the file structure is different to the Community edition then it’ll fall over. You could try installing VS2019 Community edition and then that will be used as the path root, but other than that I’m not sure what to suggest.

I think my M2 drive has enough space, so I’ll give VS2019 Community a whirl and will report back.

Sadly VS2019 Community leads me to the same issue. I’ve had to manually specify the paths and the -std=c++14 flag to get anywhere. Except now I get a different error with this version of MSVC:

variable length array declaration cannot have ‘static’ storage duration

Struggling to figure out why it’s complaining in the first place though, mostly because there’s no way to trace the path in the Projucer Live Build view.