文章目录

  • 错误描述
  • 原因分析

环境:Ubuntu16.04
工具:Eclipse + cdt
opencv 4.0.0

错误描述

编写好的正常代码,在Build Project过程中出现类似于“标准库”错误:

/usr/local/opencv4/include/opencv4/opencv2/stitching/detail/seam_finders.hpp:250:29: error: field ‘impl_’ has incomplete type ‘cv::Ptr<cv::detail::PairwiseSeamFinder>’Ptr<PairwiseSeamFinder> impl_;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/core/cvstd.hpp:81:0,from /usr/local/opencv4/include/opencv4/opencv2/core/base.hpp:58,from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:54,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/core/cvstd_wrapper.hpp:66:8: note: declaration of ‘struct cv::Ptr<cv::detail::PairwiseSeamFinder>’struct Ptr : public std::shared_ptr<T>^
In file included from /usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:53:0,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:89,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/stitching/detail/blenders.hpp:108:30: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11void prepare(Rect dst_roi) CV_OVERRIDE;^
/usr/local/opencv4/include/opencv4/opencv2/stitching/detail/blenders.hpp:109:56: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11void feed(InputArray img, InputArray mask, Point tl) CV_OVERRIDE;^
/usr/local/opencv4/include/opencv4/opencv2/stitching/detail/blenders.hpp:110:63: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11void blend(InputOutputArray dst, InputOutputArray dst_mask) CV_OVERRIDE;^
/usr/local/opencv4/include/opencv4/opencv2/stitching/detail/blenders.hpp:135:30: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11void prepare(Rect dst_roi) CV_OVERRIDE;^
/usr/local/opencv4/include/opencv4/opencv2/stitching/detail/blenders.hpp:136:56: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11void feed(InputArray img, InputArray mask, Point tl) CV_OVERRIDE;^
/usr/local/opencv4/include/opencv4/opencv2/stitching/detail/blenders.hpp:137:63: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11void blend(InputOutputArray dst, InputOutputArray dst_mask) CV_OVERRIDE;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:89:0,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:145:12: error: ‘constexpr’ does not name a typestatic constexpr const double ORIG_RESOL = -1.0;^
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:145:12: note: C++11 ‘constexpr’ only available with -std=c++11 or -std=gnu++11
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:292:20: error: field ‘features_finder_’ has incomplete type ‘cv::Ptr<cv::Feature2D>’Ptr<Feature2D> features_finder_;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/core/cvstd.hpp:81:0,from /usr/local/opencv4/include/opencv4/opencv2/core/base.hpp:58,from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:54,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/core/cvstd_wrapper.hpp:66:8: note: declaration of ‘struct cv::Ptr<cv::Feature2D>’struct Ptr : public std::shared_ptr<T>^
In file included from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:89:0,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:293:34: error: field ‘features_matcher_’ has incomplete type ‘cv::Ptr<cv::detail::FeaturesMatcher>’Ptr<detail::FeaturesMatcher> features_matcher_;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/core/cvstd.hpp:81:0,from /usr/local/opencv4/include/opencv4/opencv2/core/base.hpp:58,from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:54,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/core/cvstd_wrapper.hpp:66:8: note: declaration of ‘struct cv::Ptr<cv::detail::FeaturesMatcher>’struct Ptr : public std::shared_ptr<T>^
In file included from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:89:0,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:295:37: error: field ‘bundle_adjuster_’ has incomplete type ‘cv::Ptr<cv::detail::BundleAdjusterBase>’Ptr<detail::BundleAdjusterBase> bundle_adjuster_;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/core/cvstd.hpp:81:0,from /usr/local/opencv4/include/opencv4/opencv2/core/base.hpp:58,from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:54,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/core/cvstd_wrapper.hpp:66:8: note: declaration of ‘struct cv::Ptr<cv::detail::BundleAdjusterBase>’struct Ptr : public std::shared_ptr<T>^
In file included from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:89:0,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:296:28: error: field ‘estimator_’ has incomplete type ‘cv::Ptr<cv::detail::Estimator>’Ptr<detail::Estimator> estimator_;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/core/cvstd.hpp:81:0,from /usr/local/opencv4/include/opencv4/opencv2/core/base.hpp:58,from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:54,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/core/cvstd_wrapper.hpp:66:8: note: declaration of ‘struct cv::Ptr<cv::detail::Estimator>’struct Ptr : public std::shared_ptr<T>^
In file included from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:89:0,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:299:24: error: field ‘warper_’ has incomplete type ‘cv::Ptr<cv::WarperCreator>’Ptr<WarperCreator> warper_;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/core/cvstd.hpp:81:0,from /usr/local/opencv4/include/opencv4/opencv2/core/base.hpp:58,from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:54,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/core/cvstd_wrapper.hpp:66:8: note: declaration of ‘struct cv::Ptr<cv::WarperCreator>’struct Ptr : public std::shared_ptr<T>^
In file included from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:89:0,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/stitching.hpp:300:38: error: field ‘exposure_comp_’ has incomplete type ‘cv::Ptr<cv::detail::ExposureCompensator>’Ptr<detail::ExposureCompensator> exposure_comp_;^
In file included from /usr/local/opencv4/include/opencv4/opencv2/core/cvstd.hpp:81:0,from /usr/local/opencv4/include/opencv4/opencv2/core/base.hpp:58,from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:54,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:^
...In file included from /usr/local/opencv4/include/opencv4/opencv2/core.hpp:58:0,from /usr/local/opencv4/include/opencv4/opencv2/opencv.hpp:52,from ../src/testcv.cpp:1:
/usr/local/opencv4/include/opencv4/opencv2/core/types.hpp:1852:13: note: candidate: cv::Rect_<_Tp>& cv::Rect_<_Tp>::operator=(const cv::Rect_<_Tp>&) [with _Tp = int]Rect_<_Tp>& Rect_<_Tp>::operator = ( const Rect_<_Tp>& r )^
/usr/local/opencv4/include/opencv4/opencv2/core/types.hpp:1862:13: note: candidate: cv::Rect_<_Tp>& cv::Rect_<_Tp>::operator=(cv::Rect_<_Tp>) [with _Tp = int]Rect_<_Tp>& Rect_<_Tp>::operator = ( Rect_<_Tp>&& r ) CV_NOEXCEPT^
make: *** [src/testcv.o] Error 116:32:01 Build Finished (took 1s.585ms)

原因分析

Opencv 4.0需要C++11特性支持,所以必须对项目设置:

之后即可正常编译。

补充:如果正常gcc命令行编译出现相同错误,应使用:
g++ -c -std=c++11 -I/usr/loca/opencv4/include/opencv4 xxx.cpp
这里opencv的include路径根据各自环境调整。

OpenCV编译错误:/usr/include/c++/5/bits/stl_algobase.h:604:58: ...相关推荐

  1. /usr/include/c++/7/bits中头文件被破坏/环境破坏

    今天因为修改了bits中的头文件,导致catkin_make一直失败,一直有各种各样奇奇怪怪的错误 报错1: 报错2: 解决方法:在另一台ubuntu系统下找到相同的文件 cp过来 我的是unique ...

  2. VLC编译错误难解 3 fatal error: features.h: 没有那个文件或目录

    继续啃源码,接着上回编译,又出现错误如下图: 1.先全盘搜索这个features.h这个文件看看 他在哪里? 2.好的,第一个其实就是我们要找的头文件 将features.h和stdc-predef. ...

  3. opencv编译错误FFMPEG: Download failed: 6;“Couldn‘t resolve host name“

    cmake编译opencv遇见下列错误的解决方法 CMake Warning at cmake/OpenCVDownload.cmake:193 (message):IPPICV: Download ...

  4. Qt常见make编译错误:/usr/bin/ld:cannot find -lxxx

    使用make命令编译Qt原码时出现了 /usr/bin/ld: cannot find -lXrender 问题: /usr/bin/ld: cannot find -lXrender         ...

  5. 编译错误/usr/bin/ld: cannot find -lz

    转自:http://blog.sina.com.cn/s/blog_4be5711f01015th7.html 编译的时候出现"/usr/bin/ld: cannot find -lz&qu ...

  6. Project ‘cv_bridge‘ specifies ‘usr/include/opencv‘ as an include dir, which is not found.

    1.具体报错 CMake Error at /opt/ros/melodic/share/cv_bridge/cv_bridgeConfig.cmake:113 (message): Project ...

  7. cv_bridge与python版本问题导致编译错误error: return-statement with no value, in function returning ‘void*’ [-fpe

    1.先说一下报错的过程(着急看解决过程的直接看第二点): 首先,在使用OpenCV时候,报错如下: [ERROR] [1663728000.010723, 6019.022000]: bad call ...

  8. 【C++】c++编译错误-- C2678 二进制“=”: 没有找到接受“_Ty”类型的左操作数的运算符(或没有可接受的转换)

    [C++]c++编译错误-- C2678 二进制"=": 没有找到接受"_Ty"类型的左操作数的运算符(或没有可接受的转换) 代码: //by 鸟哥 rever ...

  9. c++编译错误-- C2678 二进制“=”: 没有找到接受“_Ty”类型的左操作数的运算符(或没有可接受的转换)

    代码: //by 鸟哥 reverse引起的编译错误 //有疑问请留言或加群 1032082534 #include<iostream> #include<algorithm> ...

最新文章

  1. 【BZOJ3963】[WF2011]MachineWorks cdq分治+斜率优化
  2. 基因组测序数据分析:测序技术
  3. Python可变参数
  4. 系统架构师学习笔记_第二章_连载
  5. python大神-Python大神都是这样处理XML文件的!
  6. 请不要轻易使用 is_numberic 加入存在E字母
  7. 如何正确处理 .NET 文件的 `File in use by another process` 异常 ?
  8. 图论复习——dfs树,点双,边双,强连通分量
  9. mipony linux客户端,Mipony网盘下载工具
  10. thinkphp v5.0.11漏洞_thinkphp 5.0 代码执行漏洞
  11. 基于JAVA+Swing+MYSQL的电影院购票管理系统
  12. 通过jquery进行ajax的一些“异常”请求的页面自提交到其它页面
  13. LoadRunner字符串编码转换函数:lr_convert_string_encoding
  14. 性别年龄论文阅读(4)——SSR-Net
  15. C++ 长度不固定的二维数组传参
  16. 查看ftp服务器里的文件,查看ftp服务器所有文件
  17. 脱壳笔记-手工脱FSG压缩壳
  18. 常见设备/CMS默认口令
  19. PIC16F15323单片机 (中断与定时器Timer0)
  20. 硬盘内部硬件结构和工作原理详解

热门文章

  1. 分步式数据库_创建真实数据科学档案项目的分步指南
  2. 微信小程序录音上传php代码,小程序实现录音上传功能
  3. 论文解读 | [CVPR2019] 基于自适应文本区域表示的任意形状场景文本检测
  4. DNMP:基于docker搭建集成LNMP(nginx+mysql+php)
  5. 标志位的作用c语言,标志位作用及操作(转)
  6. 非计算机专业可以考软考吗?赶紧了解
  7. 怎么面国企或银行?终于写完了
  8. html侧边导航栏折叠,HTML侧面导航栏
  9. 用html5构建兼容iE6的网页
  10. 智能手机销量榜单含金量“打折”,vivo或顾此失彼