2017-10-12 18 views
0

opencv 컴파일시에는 gtk이 필요합니다. 나는 gtk-2.0과 gtk-3.0을 설치했다. 이 명령은/usr /이 /가 포함 안에 내가 2.0 GTK 및 GTK-3.0 폴더가 나에게 gtk/gtk.h : 해당 파일 또는 디렉토리가 없습니다.

dpkg -l libgtk2.0-0 libgtk-3-0 

Desired=Unknown/Install/Remove/Purge/Hold 
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend 
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) 
||/ Name   Version  Architecture Description 
+++-==============-============-============-================================= 
ii libgtk-3-0:amd 3.10.8-0ubun amd64  GTK+ graphical user interface lib 
ii libgtk2.0-0:am 2.24.23-0ubu amd64  GTK+ graphical user interface lib 
ii libgtk2.0-0:i3 2.24.23-0ubu i386   GTK+ graphical user interface lib 

했다. 그들은 /usr/include/gtk-2.0로 존재하고 /usr/include/gtk-3.0

하지만 OpenCV의 내 컴파일이

src/window_gtk.cpp:48:21: fatal error: gtk/gtk.h: No such file or directory 
#include "gtk/gtk.h" 
        ^
compilation terminated. 

로 나에게 오류를 준 I가 GTK/이것은 gtk.h 모두 내부 gtk-2.0 및 gtk-3.0 폴더가 있습니다. 무엇이 잘못 될 수 있습니까?

답변

0

먼저 프로젝트에 속한 파일이 아니라 타사의 파일 인 경우 포함에 use brackets instead of double quotes searches이 포함됩니다.

우리는 또한 컴파일하려는 opencv의 버전을 알아야합니다. OpenCV 2.x는 GTK + 2 만 지원하며, OpenCV 3.x는 GTK + 3을 지원합니다.

OpenCV 프로젝트를 구성 할 때 cmake으로 전화하는 방법도 필요하므로 명령 줄과 해당 통화의 로그도 추가하십시오.

이것은 컴파일러에 주어진 인수를 확인하고, 올바른 포함 위치를 사용하는지 확인하고, 예를 들어 Qt가 아닌 GTK + 백엔드를 사용하려고하는지 확인하는 데 도움이됩니다.