파일이 거의 포함되지 않은 패키지 이해

파일이 거의 포함되지 않은 패키지 이해
$ uname -a
Linux laptop 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1 (2019-01-17) x86_64 GNU/Linux

cv::face::createLBPHFaceRecognizer()핵심 OpenCV의 일부는 아니지만 기여 모듈인 이를 사용해야 합니다 .

$ dpkg -l libopencv-contrib-dev
ii  libopencv-contrib-dev:amd64 3.2.0+dfsg-6 amd64        development files for libopencv-contrib3.2

모든 것이 괜찮습니다... 아니오:

 src/cmd.cpp:150: error: ‘cv::face’ has not been declared
 const auto model = cv::face::createLBPHFaceRecognizer();
                        ^~~~

좋아요 그런 다음 필요한 헤더를 수동으로 포함해 보겠습니다.

$ dpkg -S libopencv-contrib-dev
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev/changelog.Debian.gz
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev/copyright
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev/README.Debian

아무것도 없어! 이것은 패키저의 잘못입니까(이것은 데비안입니다)시험결국)? OpenCV의 특징? 내 부분의 작은 감독? 나는 모든 것을 직접 컴파일하는 대신 패키지 관리자를 계속 사용하고 싶습니다.

답변1

패키지는 괜찮습니다. 잘못된 dpkg옵션을 사용하고 있습니다.

dpkg -L libopencv-contrib-dev

libopencv-contrib-dev당신이 찾고 있는 파일이 모두 나열됩니다 (다음에 있는 모든 파일이 표시됩니다).여기에 나열됨), 하지만

dpkg -S libopencv-contrib-dev

libopencv-contrib-dev나열된 4개 파일과만 일치하는 경로의 파일을 설치된 모든 패키지에서 검색합니다 .

답변2

이것은 내 실수입니다.

#include <opencv2/opencv.hpp>
#include <opencv2/face.hpp>

첫 번째 포함만으로는 충분하지 않으며 두 번째 포함이 필요합니다.

이것이 문제를 해결하는 동안 왜 유용한 파일이 dpkg -S.

관련 정보