当前位置:   article > 正文

opencv(14):error: expected type-specifier operator cv::_InputOutputArray()

error: expected type-specifier

报错:

  1. error: expected type-specifier
  2. operator cv::_InputOutputArray() {

报错代码:

  1. #include <Eigen/Core>
  2. #include <opencv2/opencv.hpp>
  3. // 167 line
  4. operator cv::_InputOutputArray() {
  5. return cv::_InputOutputArray(this->mBody);
  6. }

原因:

        当前opencv版本可能不包含cv::_InputOutputArray() 函数,或者函数形式不一样

(1)本机opencv版本

pkg-config --modversion opencv

即版本为opencv2.4.13 

 (2)目标opencv版本

        根据经验,此代码在opencv3.2时可以编译过,暂时定为opencv3.2。

        上opencv官方手册(OpenCV: cv::_InputOutputArray Class Reference)确认opencv3.2是否包含cv::_InputOutputArray() 函数,确实包含,如下图所示:

 

        opencv3.2.0 编译效果如下,具体编译操作请自行百度一下啦~,编译目录为下图中的build

(3)修改CmakeLists.txt

        修改前:

  1. # 修改前,这里没有加set(OpenCV_DIR xxx)操作,使用的是系统默认的opencv版本即2.4.13
  2. find_package(OpenCV REQUIRED)#biter0088 0917

         修改后

  1. set(OpenCV_DIR /home/agilex/Downloads/opencv3.2/opencv-3.2.0/build)#biter0088 0917
  2. # /home/agilex/Downloads/opencv3.2/opencv-3.2.0/build    为(2)中编译目录
  3. find_package(OpenCV 3 REQUIRED)#biter0088 0917
  4. #或
  5. #find_package(OpenCV 3.2 REQUIRED)#biter0088 0917

        修改后编译通过

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/121232
推荐阅读
相关标签
  

闽ICP备14008679号