# Trouble with update 5.3.1

**URL:** <https://forum.juce.com/t/trouble-with-update-5-3-1/27391>\
**Category:** General JUCE discussion\
**Created:** [April 24, 2018, 12:11pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391 "2018-04-24T12:11:35Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![cila](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@cila](https://forum.juce.com/u/cila)\
**Post date:** [April 24, 2018, 12:11pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/1 "2018-04-24T12:11:35Z")

</div>

Hello everyone,  
I have just updated JUCE to 5.3.1 version and all of a sudden I got a lot of problems building my project. 72 to be exact. I have never experienced something like that and I have tried for hours to make it work but I had zero success. During compiling ,Visual studio 15 which I use, gets to this first:

```
e:\audioplug-ins\framework\juce\modules\juce_gui_basics\layout/juce_Grid.cpp(317): error 
C2059: syntax error: '}' (compiling source file 
..\..\JuceLibraryCode\include_juce_gui_basics.cpp)
1>e:\audioplug-ins\framework\juce\modules\juce_gui_basics\layout/juce_Grid.cpp(941): fatal 
error C1903: unable to recover from previous error(s); stopping compilation (compiling source 
file ..\..\JuceLibraryCode\include_juce_gui_basics.cpp)
1> INTERNAL COMPILER ERROR in 'E:\Program Files (x86)\Microsoft Visual Studio 
14.0\VC\bin\x86_amd64\CL.exe'
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
1>cl : Command line error D8040: error creating or communicating with child process

```

After that it starts to build my vst and here all hell breaks loose 😕

```
2>------ Build started: Project: DrPad_VST, Configuration: Debug x64 ------
2> include_juce_audio_plugin_client_VST2.cpp
2>DrPad.lib(include_juce_core.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_events.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_events.obj) : error LNK2005: "public: bool __cdecl juce::Thread::threadShouldExit(void)const " (?threadShouldExit@Thread@juce@@QEBA_NXZ) already defined in DrPad.lib(include_juce_core.obj)
2>DrPad.lib(include_juce_gui_basics.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_audio_basics.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_audio_processors.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_audio_plugin_client_utils.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_gui_extra.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_graphics.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_data_structures.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(PluginProcessor.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_audio_formats.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(CustomVoice.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(CustomSynth.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(Compressor.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(PadInfo.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(PluginEditor.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(Spectrum.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(Settings.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(TimeDomain.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>DrPad.lib(include_juce_dsp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(ios.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(ios.obj) : error LNK2005: "public: static void __cdecl std::ios_base::_Addstd(class std::ios_base *)" (?_Addstd@ios_base@std@@SAXPEAV12@@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(ios.obj) : error LNK2005: "private: static void __cdecl std::ios_base::_Ios_base_dtor(class std::ios_base *)" (?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(locale0.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(locale0.obj) : error LNK2005: "void __cdecl std::_Facet_Register(class std::_Facet_base *)" (?_Facet_Register@std@@YAXPEAV_Facet_base@1@@Z) already defined in msvcprtd.lib(locale0_implib.obj)
2>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPEAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(locale0.obj) : error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Init(bool)" (?_Init@locale@std@@CAPEAV_Locimp@12@_N@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_ctor(class std::_Locinfo *,char const *)" (?_Locinfo_ctor@_Locinfo@std@@SAXPEAV12@PEBD@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static void __cdecl std::_Locinfo::_Locinfo_dtor(class std::_Locinfo *)" (?_Locinfo_dtor@_Locinfo@std@@SAXPEAV12@@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(locale0.obj) : error LNK2005: "public: static class std::locale const & __cdecl std::locale::classic(void)" (?classic@locale@std@@SAAEBV12@XZ) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(iosptrs.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(locale.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(xlock.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(xlock.obj) : error LNK2005: "public: __cdecl std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QEAA@XZ) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(xthrow.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(xthrow.obj) : error LNK2005: "void __cdecl std::_Xbad_alloc(void)" (?_Xbad_alloc@std@@YAXXZ) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(xthrow.obj) : error LNK2005: "void __cdecl std::_Xbad_function_call(void)" (?_Xbad_function_call@std@@YAXXZ) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(xthrow.obj) : error LNK2005: "void __cdecl std::_Xlength_error(char const *)" (?_Xlength_error@std@@YAXPEBD@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(xthrow.obj) : error LNK2005: "void __cdecl std::_Xout_of_range(char const *)" (?_Xout_of_range@std@@YAXPEBD@Z) already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(wlocale.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(xlocale.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(xdateord.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(xwctomb.obj) : error LNK2005: _Getcvt already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(xfdtest.obj) : error LNK2005: _FDtest already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(xdtest.obj) : error LNK2005: _Dtest already defined in msvcprtd.lib(MSVCP140D.dll)
2>libcpmtd.lib(winapisupp.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(StlCompareStringA.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(winapinls.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(StlCompareStringW.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(StlLCMapStringW.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2>libcpmtd.lib(StlLCMapStringA.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in include_juce_audio_plugin_client_VST2.obj
2> Creating library E:\AudioPlug-ins\DrPad\Builds\VisualStudio2015\x64\Debug\VST\DrPad.lib and object E:\AudioPlug-ins\DrPad\Builds\VisualStudio2015\x64\Debug\VST\DrPad.exp
2>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
2>include_juce_audio_plugin_client_VST2.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl juce::MessageManagerLock::~MessageManagerLock(void)" (??1MessageManagerLock@juce@@UEAA@XZ) referenced in function "private:__int64 __cdecl JuceVSTWrapper::handleCloseEditor(struct JuceVSTWrapper::VstOpCodeArguments)" (?handleCloseEditor@JuceVSTWrapper@@AEAA_JUVstOpCodeArguments@1@@Z)
2>DrPad.lib(include_juce_audio_processors.obj) : error LNK2001: unresolved external symbol "public: virtual __cdecl juce::MessageManagerLock::~MessageManagerLock(void)" (??1MessageManagerLock@juce@@UEAA@XZ)
2>DrPad.lib(include_juce_gui_basics.obj) : error LNK2019: unresolved external symbol "public: class juce::URL & __cdecl juce::URL::operator=(class juce::URL const &)" (??4URL@juce@@QEAAAEAV01@AEBV01@@Z) referenced in function "public: void__cdecl juce::HyperlinkButton::setURL(class juce::URL const &)" (?setURL@HyperlinkButton@juce@@QEAAXAEBVURL@2@@Z)
2>DrPad.lib(include_juce_gui_basics.obj) : error LNK2001: unresolved external symbol "public: static class juce::String const juce::File::separatorString" (?separatorString@File@juce@@2VString@2@B)
2>DrPad.lib(include_juce_audio_processors.obj) : error LNK2019: unresolved external symbol "public: class juce::Value __cdecl juce::ValueTree::getPropertyAsValue(class juce::Identifier const &,class juce::UndoManager *,bool)" (?getPropertyAsValue@ValueTree@juce@@QEAA?AVValue@2@AEBVIdentifier@2@PEAVUndoManager@2@_N@Z) referenced in function "public: class juce::Value__cdecl juce::AudioProcessorValueTreeState::getParameterAsValue(class juce::StringRef)const " (?getParameterAsValue@AudioProcessorValueTreeState@juce@@QEBA?AVValue@2@VStringRef@2@@Z)
2>DrPad.lib(include_juce_audio_processors.obj) : error LNK2019: unresolved external symbol "public: void __cdecl juce::ValueTree::appendChild(class juce::ValueTree const &,class juce::UndoManager *)" (?appendChild@ValueTree@juce@@QEAAXAEBV12@PEAVUndoManager@2@@Z) referenced in function "private: class juce::ValueTree__cdecl juce::AudioProcessorValueTreeState::getOrCreateChildValueTree(class juce::String const &)" (?getOrCreateChildValueTree@AudioProcessorValueTreeState@juce@@AEAA?AVValueTree@2@AEBVString@2@@Z)
2>DrPad.lib(include_juce_audio_processors.obj) : error LNK2001: unresolved external symbol "public: virtual void __cdecl juce::ComponentListener::componentEnablementChanged(class juce::Component &)" (?componentEnablementChanged@ComponentListener@juce@@UEAAXAEAVComponent@2@@Z)
2>DrPad.lib(include_juce_audio_processors.obj) : error LNK2019: unresolved external symbol "public: void __cdecl juce::Slider::setNormalisableRange(class juce::NormalisableRange<double>)" (?setNormalisableRange@Slider@juce@@QEAAXV?$NormalisableRange@N@2@@Z) referenced in function "public:__cdecl juce::AudioProcessorValueTreeState::SliderAttachment::Pimpl::Pimpl(class juce::AudioProcessorValueTreeState &,class juce::String const &,class juce::Slider &)" (??0Pimpl@SliderAttachment@AudioProcessorValueTreeState@juce@@QEAA@AEAV23@AEBVString@3@AEAVSlider@3@@Z)
2>E:\AudioPlug-ins\DrPad\Builds\VisualStudio2015\x64\Debug\VST\\DrPad.dll : fatal error LNK1120: 7 unresolved externals
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========

```

What happened here? If you need more details about my project settings and debugging I will gladly share.

Thanks in advance,  
Cila

---

<div class="post-metadata">

**Author:** ![ed95](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ed95/32/7635_2.png) [@ed95](https://forum.juce.com/u/ed95)\
**Post date:** [April 24, 2018, 1:06pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/2 "2018-04-24T13:06:35Z")

</div>

Looks like the same issue as [this post](https://forum.juce.com/t/juce-v5-3-0-error-after-update/26905). Can you try the steps listed in there?

---

<div class="post-metadata">

**Author:** ![cila](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@cila](https://forum.juce.com/u/cila)\
**Post date:** [April 24, 2018, 1:21pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/3 "2018-04-24T13:21:10Z")

</div>

I have just tried that now without success. Instead of all errors from before, now I only have:

| Severity | Code | Description | Project | File | Line |
| --- | --- | --- | --- | --- | --- |
| Error | LNK1104 | cannot open file ‘DrPad.lib’ | DrPad\_VST | E:\AudioPlug-ins\DrPad\Builds\VisualStudio2015\LINK | 1 |

And the wierd syntax error from juce\_gui\_basics is still there.

---

<div class="post-metadata">

**Author:** ![ed95](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ed95/32/7635_2.png) [@ed95](https://forum.juce.com/u/ed95)\
**Post date:** [April 24, 2018, 1:38pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/4 "2018-04-24T13:38:17Z")

</div>

Have you cleaned the project in Visual Studio and rebuilt?

---

<div class="post-metadata">

**Author:** ![cila](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@cila](https://forum.juce.com/u/cila)\
**Post date:** [April 24, 2018, 1:40pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/5 "2018-04-24T13:40:37Z")

</div>

Yes, I have done Clean solution ,and then rebuild solution. I have tried any combination with these 3,clean build rebuild options ☹

---

<div class="post-metadata">

**Author:** ![ed95](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ed95/32/7635_2.png) [@ed95](https://forum.juce.com/u/ed95)\
**Post date:** [April 24, 2018, 1:49pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/6 "2018-04-24T13:49:36Z")

</div>

Are you trying to link to a 3rd party lib?

As for the syntax error in gui\_basics, it’s a compiler error that seems to only occur in VS2015 where it expects braces around a `jassert`. I’ve pushed a fix that should be on develop shortly but you just need to add some braces at line 315 of `juce_Grid.cpp` like so:

```auto
if (strings.size() > 0)
{
    for (auto s : strings)
    {
        jassert (s.size() == strings[0].size()); // all rows must have the same number of columns
    }
}

```

---

<div class="post-metadata">

**Author:** ![cila](https://avatars.discourse-cdn.com/v4/letter/c/9f8e36/32.png) [@cila](https://forum.juce.com/u/cila)\
**Post date:** [April 24, 2018, 1:57pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/7 "2018-04-24T13:57:48Z")

</div>

Those magic braces sorted everything out. Now it works, thanks for helping, it was driving me crazy, I appreciate it. Cheers !

---

<div class="post-metadata">

**Author:** ![ed95](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ed95/32/7635_2.png) [@ed95](https://forum.juce.com/u/ed95)\
**Post date:** [April 24, 2018, 1:59pm UTC](https://forum.juce.com/t/trouble-with-update-5-3-1/27391/8 "2018-04-24T13:59:29Z")

</div>

Great. The fix will be on develop in a moment once it passes our CI builds so you can pull it in instead of locally patching your JUCE.
