gtk / gtk.h:没有这样的文件或目录

时间:2017-10-12 05:52:33

标签: opencv gtk gtk3 gtk2

opencv编译中,我们需要gtk。我安装了gtk-2.0和gtk-3.0。 这个命令给了我

 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和gtk-3.0文件夹。 它们以/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.

我在gtk-2.0和gtk-3.0文件夹中都有gtk / gtk.h。 可能有什么不对?

1 个答案:

答案 0 :(得分:0)

首先,如果您的包含的use brackets instead of double quotes searches不是属于您的项目的文件,而是第三方文件。

我们还需要知道您尝试编译的opencv版本。 OpenCV 2.x仅支持GTK + 2,而OpenCV 3.x支持GTK + 3.

我们还需要在配置OpenCV项目时如何调用cmake,所以请添加命令行和该调用的日志。

这将有助于确定给编译器的参数,检查它是否使用正确的包含位置,还检查它是否尝试使用GTK +后端而不是Qt例如。