Build errors (latest tip) VS2015, 32bit


#1

jucedev\modules\juce_dsp\containers/juce_SIMDRegister.h(106): warning C4166: illegal calling convention for constructor/destructor

VS2015, 32bit

JUCE_VECTOR_CALLTYPE is __vectorcall


Juce 5.3.2 - trouble with dsp module
Failing to compile dsp module for Win32 with VS2015 (v140)
#2

Also some errors:
jucedev\modules\juce_dsp\containers/juce_SIMDRegister.h(186): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned


#3

I have these warnings/errors too.


#4

Please try pulling the develop branch. Things should be better with this commit:

https://github.com/WeAreROLI/JUCE/commit/daab5147c2c53c780d400cedbf8a57d545c81e8a


#5

just curious, better of fixed? The headline only mentions VS2017


#6

Oh sorry, I didn’t read carefully enough. Everything works as expected in VS2017, but not in earlier versions of Visual Studio.


#7

Will these be fixed?

containers/juce_SIMDRegister.h(186): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_AudioBlock.h(556): note: see reference to class template instantiation 'juce::dsp::SIMDRegister<float>'
frequency/juce_Convolution.h(143): note: see reference to class template instantiation 'juce::dsp::AudioBlock<float>' b
containers/juce_SIMDRegister.h(189): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(192): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(186): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_AudioBlock.h(556): note: see reference to class template instantiation 'juce::dsp::SIMDRegister<float>'
containers/juce_SIMDRegister.h(226): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
frequency/juce_Convolution.h(143): note: see reference to class template instantiation 'juce::dsp::AudioBlock<float>' b
containers/juce_SIMDRegister.h(229): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(189): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(186): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_AudioBlock.h(556): note: see reference to class template instantiation 'juce::dsp::SIMDRegister<float>'
containers/juce_SIMDRegister.h(232): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(192): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
frequency/juce_Convolution.h(143): note: see reference to class template instantiation 'juce::dsp::AudioBlock<float>' b
containers/juce_SIMDRegister.h(226): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(189): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(229): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned
containers/juce_SIMDRegister.h(186): error C2719: 'v': formal parameter with requested alignment of 16 won't be aligned

#8

Yes, we need these fixed for VS2015

My work-around for now is to

#ifdef _WIN64
	#define JUCE_USE_SIMD 1
#else
	#define JUCE_USE_SIMD 0
#endif

in AppConfig.h

Thanks,

Rail


SIMD won't compile on 32 bit with VS2015
#9

Any plans to support Visual Studio 2015 again?


#10

Just for in case some it might be helpful to someone, I’ve created a secondary VS2015 exporter set to Win32 and with JUCE_USE_SIMD=0 in the Extra Preprocessor Definitions

This way you won’t need hand edit AppConfig.h :slight_smile: