あるSDKの推奨環境なので、不慣れな Visual Studio 2019 で C++ のコードを書いていたときのこと。
別件で似たプロジェクトを作らないといけなかったので、新規作成して、プロジェクトのプロパティの VC++ ディレクトリのインクルードディレクトリやらライブラリディレクトリを元のプロジェクトと同じように設定したけれど、何故か新しいほうのプロジェクトだけヘッダファイルが見つからない(エディタで警告の下線が出るし、コンパイルしてもエラーが出る)。
インクルードディレクトリの入力間違いとかは当然疑ったけれど、元のプロジェクトと同じ。新旧 *.vcxproj の diff をとって <AdditionalIncludeDirectories> 部分が一致しているところまで確認した。
コンパイル時のログをとってみたら、新しい方はインクルードディレクトリの文字列が出てこない。プロパティを眺めた後、ふと構成マネージャを開いたら、
ずっと x64 だと思っていたアクティブソリューションプラットフォームが x86 になってた。
というか、C++のプロジェクトって Win32 と x64 って表示じゃなかったっけ。なんでこんな視認性の悪い罠を作るの……。
使わない構成は削除しようと心に誓った。
(ググると似たような未解決のインクルードファイルが見つからない問題があるけど、これじゃないのかねえ……。)