使用 rabbitmq 的 库进行开发时遇到问题及,开发环境是vs2013。在编译阶段总是提示以下错误:
error C2371: “int_fast16_t”: 重定义;不同的基类型
error C2371: “uint_fast16_t”: 重定义;不同的基类型
解决方法就是在出问题的头文件中加以下代码可以解决问题:
#if _MSC_VER >= 1600
#define _MSC_STDINT_H_
#endif
原因是stdint.h中定义的int_fast16_t和rabbitmq定义的有重复,vs2013编译器会能够自行寻找stdint.h,所以要在使用的是要要禁止stdint.h,就需要定义_MSC_STDINT_H_宏了。大概就是这么个意思。