もふふのはてな

メインのブログに書くほどではない雑多な記事を置く場所

Visual Studio 2015によるVST3ビルド時のsnprintfのエラー

Visual Studio 2015でVST3のサンプルをビルドしようとすると以下のようなエラーが出ました。

C1189 #error: Macro definition of snprintf conflicts with Standard Library function declaration

解決するには"VST3 SDK/pluginterfaces/base/fstrdefs.h"の100行目あたりを書き換えればよいようです。

修正前

#if WINDOWS && !defined(__GNUC__)
#define stricmp _stricmp
#define strnicmp _strnicmp
#define snprintf _snprintf
#endif

修正後

#if WINDOWS && !defined(__GNUC__)
#define stricmp _stricmp
#define strnicmp _strnicmp
#endif

#if _MSC_VER < 1900
#define snprintf _snprintf
#endif

参考