我正在尝试使用位于的 gtk /usr/include/gtk-3.0/gtk/ ..
,但所有的头文件在该工具包有#include <gtk/gtk.h>
.
除了添加/usr/local/gtk-3.0
或PATH
添加到gtk-3.0
所有包含预处理器之外,还有哪些其他选项?
答案1
在这种情况下,将适当的目录添加到包含路径正是您应该做的,只是您应该通过pkg-config
.不支持使用完整路径名直接访问文件。
将这样的内容添加到您的Makefile
:
CFLAGS += `pkg-config --cflags gtk+-3.0`
LIBS += `pkg-config --libs gtk+-3.0`
这将自动为当前系统添加正确的编译器和链接器选项。
答案2
环境PATH
变量是可执行文件的搜索路径,而不是其他类型文件的搜索路径。对于包含文件,您需要安排将选项传递-I/usr/include/gtk-3.0/gtk
给编译器。通常,您可以通过设置由 makefile 定义的变量(通常为CFLAGS='-I/usr/include/gtk-3.0/gtk'
)或将参数传递给./configure
(通常为./configure --includedir=/usr/include/gtk-3.0/gtk
)来完成此操作。
对于遵循 Freedesktop 实践的 Gtk 和其他软件,指示包含文件以及其他编译器和链接器选项的位置的正确方法是pkg 配置,正如 Celada 的回答中所描述的。