私のアンマネージ C++ ソースには次のものがあります。
#define _USE_MATH_DEFINES
#include <cmath>
次に、M_PI を数回使用します。デバッグ構成でのコンパイルは問題なく動作しますが、リリースでは次のようになります。
エラー C2065: 'M_PI': 宣言されていない識別子
これを引き起こしている構成プロパティは何ですか?
私のアンマネージ C++ ソースには次のものがあります。
#define _USE_MATH_DEFINES
#include <cmath>
次に、M_PI を数回使用します。デバッグ構成でのコンパイルは問題なく動作しますが、リリースでは次のようになります。
エラー C2065: 'M_PI': 宣言されていない識別子
これを引き起こしている構成プロパティは何ですか?
解決しました。
入れていた
#define _USE_MATH_DEFINES
前
#include "stdafx.h"
プリコンパイル済みヘッダーがオン (/Yu) の場合、リリース モードであるため、それより上にあるものはすべて無視されます。
次のコードは、デバッグとリリースの両方で問題なくコンパイルされます。
#define _USE_MATH_DEFINES
#include <cmath>
int main(void)
{
double x = M_PI;
return 0;
}
問題がコードの別の場所にある可能性があります。デバッグ モードまたはリリース モードの条件付きコンパイルはありますか?
デバッグとリリースの構成の違いに注意してください。
最も重要な: