OpenCV 2.x —— 第一章 編譯篇(二)MacOS(High Sierra 10.13.6)下的源碼編譯

機器環境

  • MacOS(High Sierra 10.13.6 (17G65)
  • CLion 2018.2.6
    Build #CL-182.5107.21, built on November 13, 2018
    JRE: 1.8.0_152-release-1248-b22 x86_64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

上手!

官方下載源碼

下載頁面包含 opencv2 opencv3 opencv4 的源碼,win 平臺包,ios 平臺包,android 平臺包。
直接下載opencv2 源碼:2.4.13.6

解壓

解壓到opencv文件夾下
在這裏插入圖片描述

配置 CLion

用 CLion直接打開opencv文件夾,
CLion 會自動加載 CmakeList.txt 並配置工程

錯誤解決

CPACK_PACKAGE_VERSION does not match version provided by version.hpp1

打開 version.hpp (path:opencv/modules/core/include/opencv2/core/version.hpp)
可以看到版本信息如下:
在這裏插入圖片描述
OpenCVPackaging.cmake (path : /Users/tw540/DPan/_Develop/Library/OpenCV/opencv-2.4.13.6/cmake/OpenCVPackaging.cmake)文件中,補足版本信息如下:

set(OPENCV_VCSVERSION "2.4.13.6")

補全後如圖:
在這裏插入圖片描述

cap_ffmpeg_impl.hpp:1484:21: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope2

/home/coie/Softwares/Libraries/opencv-2.4.13.3/modules/highgui/src/cap_ffmpeg_impl.hpp:1484:21: error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope
         c->flags |= CODEC_FLAG_GLOBAL_HEADER;
                     ^

查找本地的 avcodec.h 文件是存在的
按照帖子上的方法,在cap_ffmpeg_impl.hpp(path : /Users/tw540/DPan/_Develop/Library/OpenCV/opencv-2.4.13.6/modules/highgui/src/cap_ffmpeg_impl.hpp) 文件開頭處添加:

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

在這裏插入圖片描述

編譯 通過 。
在這裏插入圖片描述


  1. https://stackoverflow.com/questions/38461033/cant-execute-a-simple-program-using-opencv-error-cant-find-the-entry-point-o ↩︎

  2. https://stackoverflow.com/questions/46884682/error-in-building-opencv-with-ffmpeg ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章