前回にちょっと書いたが、理由やその他の説明追加
エラーになる理由
簡単に言うと、昔の命令(STL)の名称が変わり、以前のものが未定義なるといったもの。
それゆえ、ビルドエラーになる
これは OpenSiv3Dライブラリ が新型C++20に対応したため。
ここでいまさら気が付いた!
DXライブラリでもビルド設定で昔のv140設定に変更したりとか前にあったのを思い出した。
ということは、念のため、C++の昔のバージョンに変えればうまくいくかも?
結論から言うと上手くいった。
ただし、エラーは出るので4行だけ手修正も必要になる。コメントアウトするだけ。
直し方
C++ OpenSiv 0.4.1 のプロジェクトを用意。
C++17に変更する
ソリューションエキスプローラーのプロジェクトファイルを右クリック>プロパティ

エラーメッセージをダブルクリックで飛ぶ
で、以下の4行をコメントアウト。OpenSiv 0.4.1 を直接書き換えるので慎重に。
以上、完了
考察
過去にコメントアウトして直すのはやったことがあったが、
C++のバージョンダウンはやっていなかった。
VisualStudioがちょっと前のバージョンの時、C++のバージョンダウン設定が
見当たらなかった(気が付かなかった?しかしコンソールアプリではあった)
が、
ダメもとで調べてみたらあったのでやってみたら難なくうまくいった。


