gtk 头文件 libgtk2.0-dev 包路径因安装目录层次结构而损坏

gtk 头文件 libgtk2.0-dev 包路径因安装目录层次结构而损坏

Ubuntu 14.04 桌面

我使用 apt-get 安装了 gtk 2.0 dev 包。我看到 /usr/include 中的头文件位于目录 gtk-2.0 (/usr/include/gtk-2.0) 中,而不是根包含目录中。总标题 gtk.h 假设它在根目录中,并按路径包含许多其他标题。因此,对头文件的所有引用都已损坏。如果我通过包含 gtk-2.0/gtk/gtk.h 来包含 gtk.h,那么对于 gtk.h 中的所有包含,我都会得到文件未找到的错误。

处理这个问题的最佳方法是什么?显然,我可以将所有标头移动到根包含目录和文件夹中,因为文件需要它们(似乎这应该由安装完成)。或者,我可以手动编辑所有头文件以修复路径(似乎真的很麻烦)。使用这些文件的最佳做法是什么?我应该制作本地副本并将本地路径添加到我的包含路径吗?

我确信安装时文件布局有这种原因,但我想不出是什么原因?如能提供任何有关最佳实践的指导,我将不胜感激。

答案1

解决此问题的正确方法是将其作为编译命令的一部分添加-I/usr/include/gtk-2.0。但是,理想情况下,这不会直接包含。相反,该pkg-config工具可以提供要添加的 CFLAGS 和要链接到的库(在命令中ld)以获取所需的库。

libgtk2.0-dev软件包附带 5 个不同的文件pkg-configgtk+-x11-2.0.pc、、、和。要使用其中一个,请运行以获取CFLAGS并获取 的标志。gtk+-unix-print-2.0.pcgtk+-2.0.pcgdk-2.0.pcgdk-x11-2.0.pcgtk+-2.0.pcpkg-config gtk+-2.0 --cflagspkg-config gtk+-2.0 --libsld

相关内容