pcl和windows.h冲突(max/min函数报错)

遇到了一个很抽象的问题,简单记录一下:
问题代码:

#include <Windows.h>
//pcl
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>

运行之后会发现报了一大堆错误,点进去发现pcl中所有的max函数都报错了,这种情况一般就是冲突了。
发现windows.h包含的minwindef.h中有这样一段代码

#ifndef NOMINMAX

#ifndef max
#define max(a,b)            (((a) > (b)) ? (a) : (b))
#endif

#ifndef min
#define min(a,b)            (((a) < (b)) ? (a) : (b))
#endif

#endif  /* NOMINMAX */

很明显,如果不定义NOMINMAX宏的话,max和min就会被重新define,因此和std中的max和min产生冲突,解决办法很简单,在代码前#define NOMINMAX

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糊烟乱雨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值