Earlier I had had just "windows" there; I guess I must have changed it to "linux" to get it to build on a one-off that I had working once. For some reason it doesn't like the "windows | linux" even on Windows, even though I have other lines using that like <haxedef name="TESTING_RECORD" unless="html5 | SCREENSHOTS | SANITY_CHECK" /> that work fine.

Anyway, solution: if="cpp" instead.