(已解决)Qt部署openvino时报错:too few arguments provided to function......

自我记录:首先在我VS2019上部署openvino已经成功,然后移植到Qt上,新建的.h和.cpp文件,直接copy的,但是包含头文件时却报错too few arguments provided to function......

问题原因:

问题出在openvino的interval.hpp文件中的

/// \brief The value used for no upper bound
    static constexpr value_type s_max{std::numeric_limits::max()};

和windows.h中的

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

宏定义冲突。

解决方法:

(失败)方法一:头文件include时顺序颠倒

#include 
#include "yolo_openvino.h"
*******改为******
#include "yolo_openvino.h"
#include 

(失败)方法二:

把max前后用小括号括起来

static constexpr value_type s_max{std::numeric_limits::max()}
********************改为***********************
static constexpr value_type s_max{(std::numeric_limits::max)()}

(成功!)方法三:

所有引用 windows.h的地方:  #include
换成 #include

可以看到qt_windows.h里面已经对宏定义进行了修改

 

你可能感兴趣的:(qt,openvino,c++)