ubuntu20.04安装opencv 3.2.0 报错

本文详细描述了在安装OpenCV3.2.0过程中遇到的四个常见错误:CMake编译问题、LAPACKE_H_PATH缺失、CODEC_FLAG_GLOBAL_HEADER未声明和Python模块编译错误。提供了相应的修复方法,包括修改CMake文件、安装依赖库和源代码调整。
摘要由CSDN通过智能技术生成

安装记录

Error 1:

cmake时报错
CMake Error at cmake/OpenCVCompilerOptions.cmake:21 (else):
A duplicate ELSE command was found inside an IF block.

Fix:

修改opencv-3.2.0/cmake/OpenCVCompilerOptions.cmake文件
注释掉21和22行

      else()
        message(STATUS "Unable to compile program with enabled ccache, reverting...")
        set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${__OLD_RULE_LAUNCH_COMPILE}")
      endif()
    # else()
    #   message(STATUS "Looking for ccache - not found")
    endif()

Error 2:

fatal error: LAPACKE_H_PATH-NOTFOUND/lapacke.h: No such file or directory #include “LAPACKE_H_PATH-NOTFOUND/lapacke.h”

Fix:

来源:https://blog.csdn.net/Dead_Rabbit6_0/article/details/78044754
需要注意的是在后续的修改中如果修改了源代码,需要重新cmake,就要在make install之前做这个操作

安装sudo apt-get install liblapacke-dev checkinstall
并修改opencv-3.2.0/build/opencv_lapack.h文件

注释掉:
#include"LAPACKE_H_PATH-NOTFOUND/lapacke.h" 
添加:
#include"lapacke.h"

Error 3:

error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope

Fix:

来源:https://www.cnblogs.com/rainbow70626/p/17649814.html
在opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp,顶端添加如下代码:

#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020

Error 4:

make[2]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:186: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:3151: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

Fix:

来源:https://blog.csdn.net/qq_44357371/article/details/105966714
修改/opencv-3.2.0/modules/python/src2/cv2.cpp文件730行

修改
char* str = PyString_AsString(obj);
添加(char *)
char* str = (char *)PyString_AsString(obj);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值