Visual Studio 2017.5以降、C++ ツールセットが14.12になってしまい、CUDA 9.1など、MSVC Ver 1911でないとコンパイルできないなどが発生しているようで、私もそれで悩みました。
Visual Studio Installerには、しっかりと14.11ツールセットをインストールできるようになってるのですが、C++プロジェクトのプロパティでは
Visual Studio 2017 v141
しか選択できませんねぇ。
ああ、まさかのまたvcxprojをいじれ案件かなと思って検索してみたら、まさにその通りでした。
Side by Side minor version msvc toolset in visual studio 2017
上記は、英語なので(日本語訳もあるのかもしれませんけど)まあ、とりあえず、書いてある通りにやってみましょう。
Visual Studio InstallerでVc++ 2017 バージョン 15.4 ツールセット14.11をインストールする
まあ、上記のように個別のコンポーネントで14.11をインストールしておきます。
VCフォルダにあるMicrosoft.VCToolsVersion.Microsoft.VCToolsVersion.14.11.propsファイルをプロジェクトフォルダにコピーする
私の場合は、Professionalなので、
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\14.11
ですが、
PreviewだったりEnterpriseだったりする場合は、適宜フォルダを読み替えてください。
vcxprojファイルをテキストエディタなどで開き、propsファイルのインポートを追加する
import Project=(略)Microsoft.Cpp.Default.props の上に、14.11propsファイルを読み込むようimport project行を追加します。
※詳細を上記画像をクリックなどして拡大表示して確認を
これで、VS2017.5以降でもV14.11でコンパイルできるようになりました。