在我的非托管 C++ 源代码中,我有:
#define _USE_MATH_DEFINES
#include <cmath>
然后我使用 M_PI 几次。在 Debug 配置中编译完美无缺,但在 Release 中它提供:
错误 C2065:“M_PI”:未声明的标识符
导致这种情况的配置属性可能是什么?
在我的非托管 C++ 源代码中,我有:
#define _USE_MATH_DEFINES
#include <cmath>
然后我使用 M_PI 几次。在 Debug 配置中编译完美无缺,但在 Release 中它提供:
错误 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;
}
您的问题可能在您的代码中的其他地方。您是否在任何地方都有用于调试或发布模式的条件编译?
注意配置调试和发布的差异:
最重要的: