Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VST3 Compiler Errors w64 mingw32 #8

Closed
mfisher31 opened this issue Feb 23, 2018 · 18 comments
Closed

VST3 Compiler Errors w64 mingw32 #8

mfisher31 opened this issue Feb 23, 2018 · 18 comments

Comments

@mfisher31
Copy link

Getting this when compiling with a mingw-w64:

Compiler:
$ i686-w64-mingw32-g++ --version i686-w64-mingw32-g++ (GCC) 7.3.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Errors
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘bool Steinberg::ConstString::scanFloat(double&, Steinberg::uint32, bool) const’: ../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1555:44: error: call of overloaded ‘findNext(Steinberg::uint32&, wchar_t)’ is ambiguous if ((pos = str.findNext (offset, STR(','))) >= 0 && ((uint32)pos) >= offset) ^ ../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1022:7: note: candidate: Steinberg::int32 Steinberg::ConstString::findNext(Steinberg::int32, Steinberg::char8, Steinberg::ConstString::CompareMode, Steinberg::int32) const int32 ConstString::findNext (int32 startIndex, char8 c, CompareMode mode, int32 endIndex) const ^~~~~~~~~~~ ../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1062:7: note: candidate: Steinberg::int32 Steinberg::ConstString::findNext(Steinberg::int32, Steinberg::char16, Steinberg::ConstString::CompareMode, Steinberg::int32) const int32 ConstString::findNext (int32 startIndex, char16 c, CompareMode mode, int32 endIndex) const ^~~~~~~~~~~ ../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1556:30: error: call of overloaded ‘setChar(Steinberg::int32&, wchar_t)’ is ambiguous str.setChar (pos, STR('.'));

@ygrabit
Copy link
Contributor

ygrabit commented Feb 23, 2018

Hi

can you check in "pluginterfaces/base/fplatform.h" if the SMTG_CPP11 is defined ?
#define SMTG_CPP11 __cplusplus >= 201103L || _MSC_VER > 1600 || SMTG_INTEL_CXX11_MODE

@mfisher31
Copy link
Author

SMTG_CPP11 does get defined when I compile, yes.

@ygrabit
Copy link
Contributor

ygrabit commented Mar 1, 2018

can you try to change this in fstrdef.h

#define SMTG_CPP11_CAT_PRIVATE_DONT_USE(a,b) a ## b
#if 0 // SMTG_OS_WINDOWS // better should be #if SMTG_OS_WINDOWS && !MINGW
#define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(L,x)
#else
#define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(u,x)
#endif

@mfisher31
Copy link
Author

Sorry for the delay on this:

doing this...

#if SMTG_CPP11	// if c++11 unicode string literals
	#define SMTG_CPP11_CAT_PRIVATE_DONT_USE(a,b)			a ## b
	#if WINDOWS && !__MINGW32__
		#define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(L,x)
	#else
		#define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(u,x)
	#endif
#else
	#include "conststringtable.h"
	#define STR16(x) Steinberg::ConstStringTable::instance ()->getString (x)
#endif

.... gives me these errors ...

In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:175:15: note:   initializing argument1 of ‘int wcsicmp(const wchar_t*, const wchar_t*)’
   int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:774:45: error: invalid conversion from ‘const char16* {aka constchar16_t*}’ to ‘const wchar_t*’ [-fpermissive]
     return stricmp16 (toCompare, str.text16 ());
                                  ~~~~~~~~~~~^~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:175:15: note:   initializing argument2 of ‘int wcsicmp(const wchar_t*, const wchar_t*)’
   int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:781:51: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
     return strnicmp16 (toCompare, str.text16 (), n);
                                                   ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:781:46: error: invalid conversion from ‘const char16* {aka constchar16_t*}’ to ‘const wchar_t*’ [-fpermissive]
     return strnicmp16 (toCompare, str.text16 (), n);
                                   ~~~~~~~~~~~^~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘bool Steinberg::ConstString::startsWith(const Steinberg::ConstString&, Steinberg::ConstString::CompareMode) const’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:865:22: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16, str.buffer16, str.length ()) == 0;
                      ^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:865:36: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16, str.buffer16, str.length ()) == 0;
                                ~~~~^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:875:22: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16, tmp.buffer16, tmp.length ()) == 0;
                      ^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:875:36: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16, tmp.buffer16, tmp.length ()) == 0;
                                ~~~~^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:885:26: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (tmp.buffer16, str.buffer16, str.length ()) == 0;
                      ~~~~^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:885:40: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (tmp.buffer16, str.buffer16, str.length ()) == 0;
                                    ~~~~^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘bool Steinberg::ConstString::endsWith(constSteinberg::ConstString&, Steinberg::ConstString::CompareMode) const’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:916:31: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16 + (length () - str.length ()), str.buffer16, str.length ()) == 0;
                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:916:66: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16 + (length () - str.length ()), str.buffer16, str.length ()) == 0;
                                                              ~~~~^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:926:31: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16 + (length () - tmp.length ()), tmp.buffer16, tmp.length ()) == 0;
                      ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:926:66: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (buffer16 + (length () - tmp.length ()), tmp.buffer16, tmp.length ()) == 0;
                                                              ~~~~^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:936:35: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (tmp.buffer16 + (tmp.length () - str.length ()), str.buffer16, str.length ()) == 0;
                      ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:936:74: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   return strnicmp16 (tmp.buffer16 + (tmp.length () - str.length ()), str.buffer16, str.length ()) == 0;
                                                                      ~~~~^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘Steinberg::int32 Steinberg::ConstString::findNext(Steinberg::int32, const Steinberg::ConstString&, Steinberg::int32, Steinberg::ConstString::CompareMode, Steinberg::int32) const’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:976:31: error: invalid conversion from ‘Steinberg::char16* {aka char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
      if (strnicmp16 (buffer16 + i, str, n) == 0)
                      ~~~~~~~~~^~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:976:36: error: invalid user-defined conversion from ‘const Steinberg::ConstString’ to ‘const wchar_t*’ [-fpermissive]
      if (strnicmp16 (buffer16 + i, str, n) == 0)
                                    ^~~
In file included from ../../../../SDKs/VST_SDK/VST3_SDK/base/source/fbuffer.cpp:39:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:98,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.h:132:2: note: candidate is: Steinberg::ConstString::operator const char16*() const <near match>
  operator const char16* () const {return text16 ();}       ///< Returns pointer to string of type char16(no modification allowed)
  ^~~~~~~~
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.h:132:2: note:   no known conversion from ‘const char16* {aka const char16_t*}’ to ‘const wchar_t*’
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘Steinberg::int32 Steinberg::ConstString::findPrev(Steinberg::int32, const Steinberg::ConstString&, Steinberg::int32, Steinberg::ConstString::CompareMode) const’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1207:31: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘const wchar_t*’ [-fpermissive]
      if (strnicmp16 (buffer16 + i, str, n) == 0)
                      ~~~~~~~~~^~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument1 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1207:36: error: invalid user-defined conversion from ‘const Steinberg::ConstString’ to ‘const wchar_t*’ [-fpermissive]
      if (strnicmp16 (buffer16 + i, str, n) == 0)
                                    ^~~
In file included from ../../../../SDKs/VST_SDK/VST3_SDK/base/source/fbuffer.cpp:39:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:98,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.h:132:2: note: candidate is: Steinberg::ConstString::operator const char16*() const <near match>
  operator const char16* () const {return text16 ();}       ///< Returns pointer to string of type char16(no modification allowed)
  ^~~~~~~~
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.h:132:2: note:   no known conversion from ‘const char16* {aka const char16_t*}’ to ‘const wchar_t*’
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:176:15: note:   initializing argument2 of ‘int wcsnicmp(const wchar_t*, const wchar_t*, size_t)’
   int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
               ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In static member function ‘static bool Steinberg::ConstString::scanInt64_8(const char8*, Steinberg::int64&, bool)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1438:25: error: expected ‘)’ before ‘FORMAT_INT64A’
   if (sscanf (text, "%" FORMAT_INT64A, &value) == 1)
                         ^~~~~~~~~~~~~
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In static member function ‘static bool Steinberg::ConstString::scanUInt64_8(const char8*, Steinberg::uint64&, bool)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1464:25: error: expected ‘)’ before ‘FORMAT_UINT64A’
   if (sscanf (text, "%" FORMAT_UINT64A, &value) == 1)
                         ^~~~~~~~~~~~~~
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In static member function ‘static Steinberg::int32 Steinberg::ConstString::multiByteToWideString(Steinberg::char16*, const char8*, Steinberg::int32, Steinberg::uint32)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1883:97: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘LPWSTR {aka wchar_t*}’ [-fpermissive]
  result = MultiByteToWideChar (sourceCodePage, MB_ERR_INVALID_CHARS, source, -1, dest, charCount);
                                                                                                 ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnls.h:886:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:73,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/stringapiset.h:41:25: note:   initializing argument 5 of ‘int MultiByteToWideChar(UINT, DWORD, LPCCH, int, LPWSTR, int)’
   WINBASEAPI int WINAPI MultiByteToWideChar (UINT CodePage, DWORD dwFlags, LPCCH lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar);
                         ^~~~~~~~~~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In static member function ‘static Steinberg::int32 Steinberg::ConstString::wideStringToMultiByte(Steinberg::char8*, const char16*, Steinberg::int32, Steinberg::uint32)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:1939:84: error: invalid conversion from ‘const char16* {aka const char16_t*}’ to ‘LPCWCH {aka const wchar_t*}’ [-fpermissive]
  return WideCharToMultiByte (destCodePage, 0, wideString, -1, dest, charCount, 0, 0);
                                                                                    ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnls.h:886:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:73,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/stringapiset.h:42:25: note:   initializing argument 3 of ‘int WideCharToMultiByte(UINT, DWORD, LPCWCH, int, LPSTR, int, LPCCH, LPBOOL)’
   WINBASEAPI int WINAPI WideCharToMultiByte (UINT CodePage, DWORD dwFlags, LPCWCH lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cbMultiByte, LPCCH lpDefaultChar, LPBOOL lpUsedDefaultChar);
                         ^~~~~~~~~~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘bool Steinberg::ConstString::isNormalized(Steinberg::UnicodeNormalization)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:2029:53: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘LPCWCH {aka const wchar_t*}’ [-fpermissive]
  int32 normCharCount = FoldString (MAP_PRECOMPOSED, buffer16, len, 0, 0);
                                                     ^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnls.h:886:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:73,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/stringapiset.h:20:25: note:   initializing argument 2 of ‘int FoldStringW(DWORD, LPCWCH, int, LPWSTR, int)’
   WINBASEAPI int WINAPI FoldStringW (DWORD dwMapFlags, LPCWCH lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest);
                         ^~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘bool Steinberg::String::normalize(Steinberg::UnicodeNormalization)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:2287:53: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘LPCWCH {aka const wchar_t*}’ [-fpermissive]
  int32 normCharCount = FoldString (MAP_PRECOMPOSED, buffer16, len, 0, 0);
                                                     ^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnls.h:886:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:73,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/stringapiset.h:20:25: note:   initializing argument 2 of ‘int FoldStringW(DWORD, LPCWCH, int, LPWSTR, int)’
   WINBASEAPI int WINAPI FoldStringW (DWORD dwMapFlags, LPCWCH lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest);
                         ^~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:2292:54: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘LPCWCH {aka const wchar_t*}’ [-fpermissive]
  int32 converterCount = FoldString (MAP_PRECOMPOSED, buffer16, len, newString, normCharCount + 1);
                                                      ^~~~~~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnls.h:886:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:73,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/stringapiset.h:20:25: note:   initializing argument 2 of ‘int FoldStringW(DWORD, LPCWCH, int, LPWSTR, int)’
   WINBASEAPI int WINAPI FoldStringW (DWORD dwMapFlags, LPCWCH lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest);
                         ^~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:2292:97: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘LPWSTR {aka wchar_t*}’ [-fpermissive]
  int32 converterCount = FoldString (MAP_PRECOMPOSED, buffer16, len, newString, normCharCount + 1);
                                                                                                 ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnls.h:886:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:73,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/stringapiset.h:20:25: note:   initializing argument 4 of ‘int FoldStringW(DWORD, LPCWCH, int, LPWSTR, int)’
   WINBASEAPI int WINAPI FoldStringW (DWORD dwMapFlags, LPCWCH lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest);
                         ^~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘Steinberg::String& Steinberg::String::printf(const char16*, ...)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3344:57: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘wchar_t*’ [-fpermissive]
  vsnwprintf (string, kPrintfBufferSize-1, format, marker);
                                                         ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92:0,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:663:23: note:   initializing argument 1 of ‘int _vsnwprintf(wchar_t*, size_t, const wchar_t*, va_list)’
   _CRTIMP int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list_Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
                       ^~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3344:57: error: invalid conversion from ‘const char16* {aka const char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
  vsnwprintf (string, kPrintfBufferSize-1, format, marker);
                                                         ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92:0,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:663:23: note:   initializing argument 3 of ‘int _vsnwprintf(wchar_t*, size_t, const wchar_t*, va_list)’
   _CRTIMP int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list_Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
                       ^~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘Steinberg::String& Steinberg::String::vprintf(const char16*, va_list)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3362:55: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘wchar_t*’ [-fpermissive]
  vsnwprintf (string, kPrintfBufferSize-1, format, args);
                                                       ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92:0,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:663:23: note:   initializing argument 1 of ‘int _vsnwprintf(wchar_t*, size_t, const wchar_t*, va_list)’
   _CRTIMP int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list_Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
                       ^~~~~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3362:55: error: invalid conversion from ‘const char16* {aka const char16_t*}’ to ‘const wchar_t*’ [-fpermissive]
  vsnwprintf (string, kPrintfBufferSize-1, format, args);
                                                       ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92:0,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:663:23: note:   initializing argument 3 of ‘int _vsnwprintf(wchar_t*, size_t, const wchar_t*, va_list)’
   _CRTIMP int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list_Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN;
                       ^~~~~~~~~~~
In file included from ../../../../SDKs/VST_SDK/VST3_SDK/pluginterfaces/vst/vsttypes.h:19:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:95,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘Steinberg::String& Steinberg::String::printInt64(Steinberg::int64)’:
../../../../SDKs/VST_SDK/VST3_SDK/pluginterfaces/base/fstrdefs.h:31:52: error: expected ‘)’ before ‘uFORMAT_INT64A’
   #define STR16(x) SMTG_CPP11_CAT_PRIVATE_DONT_USE(u,x)
                                                    ^
../../../../SDKs/VST_SDK/VST3_SDK/pluginterfaces/base/fstrdefs.h:27:49: note: in definition of macro ‘SMTG_CPP11_CAT_PRIVATE_DONT_USE’
  #define SMTG_CPP11_CAT_PRIVATE_DONT_USE(a,b)   a ## b
                                                 ^
../../../../SDKs/VST_SDK/VST3_SDK/pluginterfaces/base/fstrdefs.h:39:17: note: in expansion of macro ‘STR16’
  #define STR(x) STR16(x)
                 ^~~~~
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3372:35: note: in expansion of macro ‘STR’
   return String::printf (STR("%") STR(FORMAT_INT64A), value);
                                   ^
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3378:30: error: expected ‘)’ before ‘FORMAT_INT64A’
   return String::printf ("%" FORMAT_INT64A, value);
                              ^~~~~~~~~~~~~
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘Steinberg::String& Steinberg::String::printFloat(double)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3387:42: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘wchar_t*’ [-fpermissive]
   sprintf16 (string, STR16 ("%lf"), value);
                                          ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 1 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3387:42: error: invalid conversion from ‘const char16_t*’ to ‘const wchar_t*’ [-fpermissive]
   sprintf16 (string, STR16 ("%lf"), value);
                                          ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 2 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3389:50: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘const wchar_t*’ [-fpermissive]
   char16* pointPtr = strrchr16 (string, STR ('.'));
                                                  ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/guiddef.h:148:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winnt.h:628,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/minwindef.h:163,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windef.h:8,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:69,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/string.h:144:34: note:   initializing argument1 of ‘wchar_t* wcsrchr(const wchar_t*, wchar_t)’
   _CONST_RETURN wchar_t *__cdecl wcsrchr(const wchar_t *_Str,wchar_t _Ch);
                                  ^~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3389:32: error: invalid conversion from ‘wchar_t*’ to ‘Steinberg::char16* {aka char16_t*}’ [-fpermissive]
   char16* pointPtr = strrchr16 (string, STR ('.'));
                                ^
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp: In member function ‘bool Steinberg::String::incrementTrailingNumber(Steinberg::uint32, Steinberg::tchar, Steinberg::uint32, bool)’:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3462:49: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘wchar_t*’ [-fpermissive]
    sprintf16 (format, STR16 ("%%c%%0%uu"), width);
                                                 ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 1 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3462:49: error: invalid conversion from ‘const char16_t*’ to ‘const wchar_t*’ [-fpermissive]
    sprintf16 (format, STR16 ("%%c%%0%uu"), width);
                                                 ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 2 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3463:56: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘wchar_t*’ [-fpermissive]
    sprintf16 (trail, format, separator, (uint32) number);
                                                        ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 1 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3463:56: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘const wchar_t*’ [-fpermissive]
    sprintf16 (trail, format, separator, (uint32) number);
                                                        ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 2 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3467:46: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘wchar_t*’ [-fpermissive]
    sprintf16 (format, STR16 ("%%0%uu"), width);
                                              ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 1 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3467:46: error: invalid conversion from ‘const char16_t*’ to ‘const wchar_t*’ [-fpermissive]
    sprintf16 (format, STR16 ("%%0%uu"), width);
                                              ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 2 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3468:45: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘wchar_t*’ [-fpermissive]
    sprintf16 (trail, format, (uint32) number);
                                             ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 1 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:102:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/base/source/fstring.cpp:3468:45: error: invalid conversion from ‘Steinberg::char16* {akachar16_t*}’ to ‘const wchar_t*’ [-fpermissive]
    sprintf16 (trail, format, (uint32) number);
                                             ^
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/wchar.h:727:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/tchar.h:92,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:132,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/swprintf.inl:58:5: note:   initializing argument 2 of ‘int swprintf(wchar_t*, const wchar_t*, ...)’
 int swprintf (wchar_t *__stream, const wchar_t *__format, ...)
     ^~~~~~~~
In file included from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3Headers.h:111:0,
                 from ../libs/JUCE/modules/juce_audio_processors/format_types/juce_VST3PluginFormat.cpp:30,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:164,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
../../../../SDKs/VST_SDK/VST3_SDK/pluginterfaces/base/funknown.cpp: In function ‘Steinberg::int32 Steinberg::FUnknownPrivate::atomicAdd(Steinberg::int32&, Steinberg::int32)’:
../../../../SDKs/VST_SDK/VST3_SDK/pluginterfaces/base/funknown.cpp:71:33: error: invalid conversion from ‘Steinberg::int32* {aka int*}’ to ‘volatile LONG* {aka volatile long int*}’ [-fpermissive]
  return InterlockedExchangeAdd (&var, d) + d;
                                 ^~~~
In file included from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/winbase.h:22:0,
                 from /usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/windows.h:70,
                 from ../libs/JUCE/modules/juce_core/native/juce_BasicNativeHeaders.h:130,
                 from ../libs/JUCE/modules/juce_core/juce_core.h:171,
                 from ../libs/JUCE/modules/juce_graphics/juce_graphics.h:57,
                 from ../libs/JUCE/modules/juce_gui_basics/juce_gui_basics.h:57,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.h:56,
                 from ../libs/JUCE/modules/juce_audio_processors/juce_audio_processors.cpp:39,
                 from ../project/JuceLibraryCode/include_juce_audio_processors.cpp:9:
/usr/local/Cellar/mingw-w64/5.0.3_2/toolchain-i686/i686-w64-mingw32/include/interlockedapi.h:38:37: note:   initializing argument 1 of ‘LONG InterlockedExchangeAdd(volatile LONG*, LONG)’
   __MINGW_INTRIN_INLINE LONG WINAPI InterlockedExchangeAdd(LONG volatile *Addend, LONG Value) {

Wish I were more experienced with MSVC and MINGW to offer help here.

@Spacechild1
Copy link

Spacechild1 commented Aug 9, 2019

@mfisher31 regarding your last post: I got the same error messages. Here's a crude fix:
In "ftypes.h" instead of

#ifdef _NATIVE_WCHAR_T_DEFINED
	typedef __wchar_t char16;
#elif SMTG_CPP11
	typedef char16_t char16;
#else
	typedef int16 char16;
#endif

do

#ifdef _NATIVE_WCHAR_T_DEFINED
	typedef __wchar_t char16;
#elif defined(__MINGW32__)
	typedef wchar_t char16;
#elif SMTG_CPP11
	typedef char16_t char16;
#else
	typedef int16 char16;
#endif

The wide string functions like swprintf all expect a const wchar_t *, but char16 gets defined as char16_t which is a different type than wchar_t (even though both might have the same size)

With MSVC, wchar_t and char16 both are aliases for __wchar_t so that's fine. (Actually, it's possible to change the meaning of wchar_t with the /Zc:wchar_t switch.)

It would be great if the VST3 SDK would compile cleanly with MinGW!

@mfisher31
Copy link
Author

mfisher31 commented Aug 13, 2019

@Spacechild1 - Thanks for that. Will try this soon!

@Spacechild1
Copy link

Spacechild1 commented Aug 13, 2019

BTW, I also get a compiler error when trying to compile funknown.cpp because of a missing cast in atomicAdd (for InterlockedExchangeAdd).

@ygrabit The situation is a bit frustating. Although the pluginterfaces headers work, many implementation files don't compile on MinGW. Adding MinGW support is not a big deal, it's just little fixes. This issue has been opened over 1 1/2 years ago... If nobody at Steinberg is willing to work on this, I can offer to make a PR.

@ghost
Copy link

ghost commented Sep 12, 2019

Hey, thanks @Spacechild1 for the ftypes.h fix. It really helped me. I am working on a cross platform plugin scanner which scans VST2/3 and LV2. I am using Qt 5.13 with MinGW 7.3.0. In module_win32.cpp (which is full of platform-dependent M$ code), 2 errors were occuring in getKnownFolder() function. One of it is fixed now. 2nd error it says no SHGetKnownFolderPath function found.
I haven't messed with the module_win32.cpp file anyways so all includes are untouched. Maybe it is MinGW problem. (maybe mingw implementation of shlobj is not complete)

EDIT: I will do this in MSVC instead. No use fixing these errors.

Shame on Steinberg for such a bad and poorly documented API ("industry-standard")?

@Spacechild1
Copy link

Actually, it's possible to only use the headers in pluginterfaces. The rest of the SDK is just a sample implementation which you don't really need at all. I do this in my VST host, so I can just pull the SDK and compile with MinGW without applying any patches.

Shame on Steinberg for such a bad and poorly documented API ("industry-standard")?

VST2 became a de facto industry standard because it was a good API - at least for that time - and many vendors picked it up. VST3 never had much support from third party vendors from the beginning, but Steinberg thought they could just go ahead and make it the new "standard". it doesn't work that way!

@Spacechild1
Copy link

@demberto write me an e-mail if you need more information. I can send you a link to my repo. (My e-mail is in my profile.)

@ghost
Copy link

ghost commented Sep 13, 2019

Thanks @Spacechild1. Does your fix work on 64-bit MinGW i.e. __MINGW64__ is defined?

@ygrabit
Copy link
Contributor

ygrabit commented Oct 22, 2020

Let´s give a try for the next update...we have fix some MinGW errors...

@ygrabit ygrabit closed this as completed Oct 22, 2020
@jcelerier
Copy link

jcelerier commented Jan 20, 2021

how is that even supposed to work ? vtables generated by MSVC and GCC aren't compatible (or if they are, it's only by chance).
e.g look at this: https://gcc.godbolt.org/z/rzW3M1 - in GCC the order of the methods is preserved while in MSVC they are sorted.
So if an host is compiled with MSVC and tries to load a plug-in built with mingw through a C++ interface there is a lot of chances that things would crash - mingw plug-ins should be treated as a different platform altogether.

@Spacechild1
Copy link

Spacechild1 commented Jan 20, 2021

how is that even supposed to work ? vtables generated by MSVC and GCC aren't compatible (or if they are, it's only by chance).

The VST3 SDK uses a COM-like object model, where C++ interfaces have to follow a couple of rules:

  • no virtual destructors (because compilers might generate more than one vtable entry)
  • no overloaded methods (because they can be reordered, as you've observed)
  • arguments and return types have to be PODs

MinGW has been COM compatible for years now and this isn't going to change. After all, it would be stupid for a Windows C++ compiler not to respect COM...

@jcelerier
Copy link

MinGW has been COM compatible for years now and this isn't going to change.

is it an official stance of GCC or just by chance because COM is very simple ? I can't find anything stating it - some googling refers to bugs open since 2014 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64384) which look like they could break these cases for instance.

@Spacechild1
Copy link

Spacechild1 commented Jan 21, 2021

is it an official stance of GCC or just by chance because COM is very simple ?

No, but as I wrote, gcc/clang moved towards COM compatibility and I don't think they will break it again.

I can't find anything stating it - some googling refers to bugs open since 2014 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64384) which look like they could break these cases for instance.

This is about returning an aggregate in __stdcall functions - which the VST3 SDK never does (it always returns a tresult). Also note that this incompatibility only applies to 32-bit GCC and it seems that it can be fixed with the callee_pop_aggregate_return attribute. Finally, it concerns __stdcall functions in general and is not specific to COM interfaces.

64-bit Windows uses a single calling convention, so __stdcall, __cdecl, etc. are ignored. GCC also won't change the vtable layout for COM classes. So I think this should be safe.

In practice, I have hosted VST3 plugins (compiled with MSVC) in MinGW hosts (both 32-bit and 64-bit) for a while now and never ran into troubles.

@jcelerier
Copy link

okay, I'll sleep a little better :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants