“int_fast16_t”: 重定义;不同的基类型

本文介绍在VS2013环境下,使用RabbitMQ库进行开发时遇到的编译错误,特别是关于int_fast16_t和uint_fast16_t的重定义问题,并提供了解决方案,即通过在头文件中添加特定宏定义来避免与VS自带的stdint.h冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用 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_宏了。大概就是这么个意思。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值