VASTDynamics/Vaporizer2

log2() is instrict within msvc

KottV opened this issue · 4 comments

KottV commented

Hi,

when I compile using MS Visual Studio 2022 I got this error:
Error C2169 'log2': intrinsic function, cannot be defined
in
\Vaporizer2\VASTvaporizer\Source\Engine\Utils\VASTSynthfunctions.h 991

looks like it tries to override build-in function

?

KottV commented

It's a correct behavior since JUCE 7.0.6 https://github.com/juce-framework/JUCE/blob/develop/BREAKING_CHANGES.md

Projucer-generated MSVC projects now build VST3s as bundles, rather than as single DLL files.

Possible Issues

Build workflows that expect the VST3 to be a single DLL may break.

Workaround

Any post-build scripts that expect to copy or move the built VST3 should be updated so that the entire bundle directory is copied/moved. The DLL itself can still be located and extracted from within the generated bundle if necessary.

Rationale

Distributing VST3s as single files was deprecated in VST3 v3.6.10. JUCE's CMake scripts already produce VST3s as bundles, so this change increases consistency between the two build systems.
KottV commented

I have commented it out. It should simply be replaced with std::log2 I believe.

easy