QT中出现这种重复定义的问题很正常
问题
QT中引入OpenCV在编译的时候出现了下面的问题:
出现问题的代码段
出现问题的代码段如下:
出现问题的原因
std::numeric_limits(
Visual C++中的全局的宏函数模板max的代码如下:
解决方法
方法一
设置项目属性,在预定义处理器中添加定义NOMINMAX来禁止使用Visual C++的min/max宏定义。
项目属性 ——> C/C++ ——> 预处理器 ——> 预处理器定义 (此处添加预定义编译开关 NOMINMAX)
但是visual C++中定义能自动匹配double和int,如果进行了上述设置,代码中手动将int型的数据乘以1.0来达到double的目的。
在QT中相当于在PRO文件中增加
|
|
方法二
将方法加括号,与Vsual C++的min/max宏定义区分开。例如:
|
|