Ambiguous reference to AssertionHandler in fdebug.h

I am getting an error when trying to update to VST3 3.6.13, and its newer VSTGUI (from SDK 3.6.6), but am getting a conflict between two files’ definitions of AssertionHandler:


In file included from …/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/vstgui4/vstgui/lib/controls/coptionmenu.h:7:
In file included from …/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/vstgui4/vstgui/lib/controls/cparamdisplay.h:7:
In file included from …/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/vstgui4/vstgui/lib/controls/ccontrol.h:7:
In file included from …/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/vstgui4/vstgui/lib/cview.h:7:
In file included from …/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/vstgui4/vstgui/uidescription/…/lib/vstguifwd.h:7:
In file included from …/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/vstgui4/vstgui/lib/animation/…/vstguibase.h:541:
…/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/vstgui4/vstgui/lib/vstguidebug.h:13:7: note: candidate found by name lookup is ‘VSTGUI::AssertionHandler’
using AssertionHandler = std::function<void (const char* filename, const char* line, const char* desc)>;
^

…/…/…/…/…/antsdk/VST/VST_3.6.13/VST3_SDK/base/source/fdebug.h:155:16: note: candidate found by name lookup is ‘AssertionHandler’
typedef bool (AssertionHandler) (const char message);
^

It looks like that symbol is defined in both vsstguidebug.h and in fdebug.h, which is causing a conflict when I try to build my VSGT3 plugin.

Any ideas how I can resolve this conflict (preferably other than by editing the SDK)?

Looks like I needed to remove “using namespace VSTGUI;” from some header files.