Jetson & 머신러닝

라즈베리파이4에 opencv3.x 설치 오류 해결방법

아크리엑터 2020. 7. 8. 19:44
반응형

컴파일 중에 아래와 같이 CODEC_FLAG_GLOBAL_HEADER 가 정의되지 않았다는 에러 메시지가 나올 때의 해결 방안입니다.

 

/modules/videoio/src/cap_ffmpeg_impl.hpp:1484:21: error: CODEC_FLAG_GLOBAL_HEADER was not declared in this scope.

 

 

아래의 파일을 열어서, 맨 앞쪽에 아래의 #define 3줄을 추가하고 컴파일 하면 됩니다.

 

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

 

 

그리고, 컴파일 100% 즈음의 마지막에서 갑자기 Error 1, Error2 오류를 뱉으면서 다른 알지 못하는 작업을 기다린다는 메시지가 나오는 경우가 있는데, 이때의 해결방법은 다음과 같다.

오류가 어디에 있을 지 한참을 위로 올라가면,    "opencv-3.2.0/modules/python/src2/cv2.cpp" 에서 오류가 난 것을 확인할 수 있다.  이것은 아래의 코드로 바꿔주면 된다. (730 라인)

아래처럼 된 것을

char* str = PyString_AsString(obj); 

 

이것처럼 const를 추가해주면 된다.

const char* str = PyString_AsString(obj);

 

 

 

반응형