dsp56300 / gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
https://dsp56300.wordpress.com/
GNU General Public License v3.0
411 stars 47 forks source link

Cannot build from source with latest MSVC #203

Closed mkruselj closed 3 months ago

mkruselj commented 4 months ago

MSVC version 19.40.33811.0

I am getting a bunch of template related errors like these:

image

Always attempting clean rebuild, doesn't matter if I use MSVC or Clang (Clang gives different errors).

dsp56300 commented 4 months ago

Did you update VS recently? The DSP has not been touched for weeks and the github actions build just fine also

dsp56300 commented 4 months ago

Example https://github.com/dsp56300/gearmulator/actions/runs/9338614126/job/25701942246

mkruselj commented 4 months ago

Yep, I have updated VS a week or two ago. So VS installer says I'm on VS Community 2022, 17.10.1. I build with VS Code (which is also latest public build). I also use Ninja.

EDIT: So yeah github actions are using VS2019... Maybe could set up some VS2022 workers too?

dsp56300 commented 4 months ago

Our local build machines already use VS22, I just upgraded my VS22 installation and I am hitting the same errors.

However, this looks like a compiler bug to me as these functions are templates that are to be instantiated once used, however, these errors are printed without mentioning any call that uses them, which is incorrect behaviour. As there are multiple overloads that depend on the used instruction, its clear that this is causing errors if all of them are evaluated by the compiler.

Will report back once I found something about it

mkruselj commented 4 months ago

Thanks a bunch! I think this was not happening in 17.9 or 17.8, I forget which was the earlier version I was on - but I cannot rollback to that one because I already went from 17.10.0 to 17.10.1...

mkruselj commented 3 months ago

In the meantime I wasted some disk space and installed VS2019 Community alongside my current VS2022 install. It was quite a bitch to find a working download link (MS wants you to always be on latest Community version), but now I'm back in game and can build just fine!

Would still be nice to sort this out somehow for VS2022 tho (if it even can be from this project's end)...

dsp56300 commented 3 months ago

The issue has been reported to Microsoft but they are pretty slow with fixes. I implemented a workaround now