VS2013一个解决方案中添加了两个项目,项目1中一个头文件add.h使用预处理器定义 定义了一个宏_ON_WIN_,具体如下:
#ifndef _ON_WIN_
#include <stdint.h>
#ifndef HMODULE
typedef void* HMODULE;
#endif
#ifndef DWORD
typedef int DWORD;
#endif
#else
typedef signed char int8_t;
#endif
项目2要用到add.h ,结果在vs上ifndef部分是灰色的,但是编译却显示ifndef这部分造成了重定义。
在项目2的预处理器定义中也添加宏_ON_WIN_,然后解决。