Visual Studio 2019でVST基本ライブラリをコンパイルできない不具合の回避策
最新(2019年11月時点)のVisual Studio 2019でVST SDK 3.6.13の基本ライブラリをコンパイルできないという不具合が出ています。
原因は「public.sdk/source/vst/hosting/module_win32.cpp」でMicrosoftが非推奨とした「experimental/filesystem」を使用しているためです。
これにより、下記のエラーが発生しコンパイルできない状態になっています。
このエラーを回避するにはプリプロセッサ「_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING」を定義する必要があります。
回避策1
一つ目の回避策は、「public.sdk/source/vst/hosting/module_win32.cpp」に直接定義する方法です。
「public.sdk/source/vst/hosting/module_win32.cpp」の43~44行目に「experimental/filesystem」をインクルードしている行があるので、この行より前に
「_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING」を定義します。
回避策2
二つ目の回避策は、CMAKEコマンドの引数で「_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING」を定義する方法です。
下記のようにcmake.exeの引数に「-DCMAKE_CXX_FLAGS="/D _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING"」を追加で指定します。
1 |
cmake.exe -G"Visual Studio 16 2019" -A x64 -DCMAKE_CXX_FLAGS="/D _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING" <CMakiList.txtのフォルダ> |
Visual Studioに付属しているCMAKEツールで引数を渡す場合は、「構成を管理します…」を開いて、CMAKEのコマンド引数に「-DCMAKE_CXX_FLAGS="/D _SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING"」を入力します
さいごに
どちらの方法でも不具合を回避することができます。ご自身のやりやすいほうで対応していただければよいと思います。
上記以外にもVST3.6についての情報があります。下記をご参照ください。
また、質問やご指摘はコメント欄や掲示板、Twitterでいただけばとおもいます。
■掲示板
■Twitterアカウント:@vstcpp URL:https://twitter.com/vstcpp