在我的非托管C ++源代码中,我有:
#define _USE_MATH_DEFINES
#include <cmath>
然后我使用M_PI几次。 在Debug配置中进行编译可以完美地工作,但在Release中它会给出:
错误C2065:'M_PI':未声明的标识符
导致此问题的配置属性是什么?
答案 0 :(得分:6)
解决。
我放了
#define _USE_MATH_DEFINES
前
#include "stdafx.h"
使用预编译标题(/ Yu),因为它处于发布模式,它上面的所有内容都会被忽略。
答案 1 :(得分:3)
以下代码在我的调试和发布中编译得很好:
#define _USE_MATH_DEFINES
#include <cmath>
int main(void)
{
double x = M_PI;
return 0;
}
您的问题可能在您的代码中的其他位置。在调试或发布模式的任何地方都有条件编译吗?
答案 2 :(得分:1)
注意配置调试和发布的差异:
最重要的是: