Moe*_*bai 5 c++ macros visual-studio-2010 visual-studio-macros
由于intsafe.h和stdint.h两者都定义了INT8_MIN。因此,VS2010 会生成一条警告:
1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\stdint.h(72): warning C4005: 'INT8_MIN' : macro redefinition
1> C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\intsafe.h(144) : see previous definition of 'INT8_MIN'
Run Code Online (Sandbox Code Playgroud)
有没有办法在 VS2010 中修复该警告。
小智 9
显然这是VS2010中的一个错误。您通常可以避免它,但在 MFC 应用程序中,基本上不可能在任何其他代码中包含 stdint.h 而不会命中它。
我只是在抱怨的文件顶部做了这个:
#pragma warning (push)
#pragma warning (disable : 4005)
#include <intsafe.h>
#include <stdint.h>
#pragma warning (pop)
Run Code Online (Sandbox Code Playgroud)
可以这么说,它让那些标题“不碍事”,让你继续你的一天。
为了简单地使消息消失,您可以添加以下行
#pragma warning (disable : 4005)
Run Code Online (Sandbox Code Playgroud)
在你的第一个#include陈述之前
但这并不意味着您不应该注意该警告。看看是否可以不使用这两个头文件之一,如果不能,请非常确定您的程序正在使用哪个定义。
| 归档时间: |
|
| 查看次数: |
10561 次 |
| 最近记录: |