VS2010中的M_PI:在调试conf中工作但在发布中不起作用
在我的非托管 C++ 源代码中,我有:
#define _USE_MATH_DEFINES
#include <cmath>
然后我使用 M_PI 几次。 在调试配置中编译可以完美地工作,但在发布中它给出:
错误 C2065:“M_PI”:未声明的标识符
可能是什么配置属性导致此问题?
In my unmanaged C++ source i have:
#define _USE_MATH_DEFINES
#include <cmath>
and then I use M_PI a couple of times.
Compiling in Debug configuration works flawlessly but in Release it gives:
error C2065: 'M_PI' : undeclared identifier
What could be the configuration property causing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
解决了。
我
之前
已经将预编译头放在(/Yu)上,因为它处于发布模式,所以上面的所有内容都会被忽略。
Solved.
I had put
before
With Precompiled Headers on (/Yu), as it's in Release mode, everything above it is ignored.
对于我来说,以下代码在调试和发布中编译得很好:
您的问题可能位于代码的其他位置。您是否在任何地方都有用于调试或发布模式的条件编译?
The following code compiles just fine in both debug and release for me:
Your issue may lay elsewhere in your code. Do you have conditional compilation anywhere for debug or release modes?
注意配置中的差异调试和发布:
最重要的是:
Watch out for differences in the configurations Debug and release:
Most important:
我对预编译头有同样的问题。
在Release模式下,确保创建了pch.cpp预编译头(/Yc)。
I had the same issue with precompiled header.
In Release mode, make sure the pch.cpp precompiled header is created (/Yc).