久しぶりにCUDA Toolkit 11.8 を使ったらエラーで以前はビルドできていたものがビルドできなくなっていた。設定を二つ変えることで何とかビルドできるようにしたという記録。
環境は、Visual Studio Community 2022 + CUDA Toolkit 11.8.
問題1 #error: -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2022 (inclusive) are supported! ... というエラーが発生
対応: 構成プロパティ > CUDA C/C++ > Command Line にある「追加のオプション」に「--allow-unsupported-compiler」 を書き足す。マイクロソフトの変更のおかげで最新のVisual Studio 2022がVisual Studio 2022と認識できなくなったことによるエラーなのでVisual Studioのバージョンは気にするなという指示をして回避する。

問題2 static assertion failed with "error STL1002: Unexpected compiler version, expected CUDA 12.4 or newer."というエラーが発生
対応: 構成プロパティ > CUDA C/C++ > Host にある Preprocessor Definitions に _ALLOW_COMPILER_AND_STL_VERSION_MISMATCH と追記する。

この二つの対策で、Visual Studio 2022 の最新版でも CUDA Toolkit 11.8 でビルドできるようになった。
まあ、最新の CUDA Toolkit 12 なら何の問題も起きないとは思うけどTesla K80 (Kepler) がサポート外だから...やれやれ。
ちな、Visual Studio 2019 と CUDA Toolkit 11.8 の組合わせだと何の問題も起きない。