opencv - 使用 cvstd_wrapper.hpp opencv4.0.1 编译问题
问题描述
我正在将早期的 c 代码(opencv1.0)更新为 opencv 4 。虽然我正在更改和更新 api 的一切看起来都很好,但是,最后我得到了上述文件的错误,如下所示,
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:45:40: Declaration of constexpr static data member 'check' requires an initializer
/usr/local/include/opencv4/opencv2/core/cvstd_wrapper.hpp:47:31: Constexpr can only be used in variable and function declarations
我正在使用 LLVM 8.1 并使用 libc++(支持 c++ 11 的 LLVM C++ 标准库)作为 c++ 标准库。
以下是在 opencv 中显示错误的代码部分。
struct has_parenthesis_operator
{
private:
template<typename T>
CV_CONSTEXPR std::true_type check(typename std::is_same<typename
std::decay<decltype(std::declval<T>().operator()(std::declval<Args> .
()...))>::type, Ret>::type*);
template<typename> static CV_CONSTEXPR std::false_type check(...);
typedef decltype(check<C>(0)) type;
public:
static CV_CONSTEXPR bool value = type::value;
};
解决方案
推荐阅读
- node.js - 在 MEAN Stack 应用程序中重新加载页面后无法获取 /page
- javascript - 无效输入后如何设置 DOM 样式?
- c++ - 在 C++ 中寻找吃得最少的人
- security - 使用机器学习检测恶意网页
- html - 窗口调整大小时 CSS Grid 行调整大小
- java - 2D 单词搜索实现:获取索引超出范围异常 (Java)
- php - Swift Poststring 没有得到我的价值观
- single-sign-on - 有没有办法过滤/避免 keycloak SAML 断言中的重复属性名称?
- python - 如何为绘图添加标签?
- nanomsg - nanomsg (nng) 中的多个发布者和订阅者