cnw2015 2017-03-07 06:23 采纳率: 100%
浏览 4294
已采纳

强迫症萌新求问:waring C4005怎么去掉,好烦啊!

stdint.h:
#define INT8_MIN (-0x7f - _C2)
#define INT16_MIN (-0x7fff - _C2)
#define INT32_MIN (-0x7fffffff - _C2)
#define INT8_MAX 0x7f
#define INT16_MAX 0x7fff
#define INT32_MAX 0x7fffffff
#define UINT8_MAX 0xff
#define UINT16_MAX 0xffff
#define UINT32_MAX 0xffffffff
#define INT64_MIN (-0x7fffffffffffffff - _C2)
#define INT64_MAX 0x7fffffffffffffff
#define UINT64_MAX 0xffffffffffffffffU

intsafe.h:
#define INT8_MIN (-127i8 - 1)
#define INT16_MIN (-32767i16 - 1)
#define INT32_MIN (-2147483647i32 - 1)
#define INT8_MAX 127i8
#define INT16_MAX 32767i16
#define INT32_MAX 2147483647i32
#define UINT8_MAX 0xffui8
#define UINT16_MAX 0xffffui16
#define UINT32_MAX 0xffffffffui32
#define INT64_MIN (-9223372036854775807i64 - 1)
#define INT64_MAX 9223372036854775807i64
#define UINT64_MAX 0xffffffffffffffffui64

编译,stdint.h和intsafe.h有定义冲突,如下,为输出信息:
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(72): warning C4005: “INT8_MIN”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(144) : 参见“INT8_MIN”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(73): warning C4005: “INT16_MIN”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(146) : 参见“INT16_MIN”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(74): warning C4005: “INT32_MIN”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(148) : 参见“INT32_MIN”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(76): warning C4005: “INT8_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(167) : 参见“INT8_MAX”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(77): warning C4005: “INT16_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(171) : 参见“INT16_MAX”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(78): warning C4005: “INT32_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(176) : 参见“INT32_MAX”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(79): warning C4005: “UINT8_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(168) : 参见“UINT8_MAX”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(80): warning C4005: “UINT16_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(173) : 参见“UINT16_MAX”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(81): warning C4005: “UINT32_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(178) : 参见“UINT32_MAX”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(149): warning C4005: “INT64_MIN”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(152) : 参见“INT64_MIN”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(150): warning C4005: “INT64_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(184) : 参见“INT64_MAX”的前一个定义
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(151): warning C4005: “UINT64_MAX”: 宏重定义
1> c:\program files (x86)\microsoft sdks\windows\v7.0a\include\intsafe.h(189) : 参见“UINT64_MAX”的前一个定义

我一是担心这两个定义不一样,二是不想看到这些重定义,但是呢又怕删掉出问题,大神们怎么办啊?哎呀好纠结

  • 写回答

6条回答 默认 最新

  • Fate_Dream 2017-03-07 07:14
    关注

    就是类似这种形式的,这种宏就是为了防止重复定义图片

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!