human-osaka-game-2019 / SoundLib

C/C++WIndowsゲーム用音声再生ライブラリ
3 stars 1 forks source link

🐞 VS2019でビルドエラー #3

Open taishi-matsumura opened 5 years ago

taishi-matsumura commented 5 years ago

不具合概要

Visual Studio 2019でビルドすると、SoundsManager.cppでコンパイルエラーが発生する。
内容は C2678 二項演算子 '==': 型 'const type_info' の左オペランドを扱う演算子が見つかりません (または変換できません) とあるが、どうやら type_info が正しく認識できていない模様。

原因

これかな? typeid を使用する前にヘッダ <typeinfo> がインクルードされていなければなりません (このヘッダがインクルードされていない場合、キーワード typeid のすべての使用がプログラムを ill-formed にします)。 参考 : https://ja.cppreference.com/w/cpp/language/typeid

taishi-matsumura commented 5 years ago

ill-formed(不適格) ってなんぞ?と思って調べていたら大変なサイトに辿り着いてしまいました。。。 https://qiita.com/akinomyoga/items/592e5a3b8438a0c8556b

taishi-matsumura commented 5 years ago

プロジェクトのプロパティ→C/C++→詳細設定→インクルードの表示 を「 はい」にしてSoundsManager.cppをコンパイルしてみたところ、やはり <typeinfo> がインクルードされていませんでした。 なぜVS2017でコンパイル通っていたかは不明です。