libgtk-3-dev 和 libgtk-4-dev 的问题

libgtk-3-dev 和 libgtk-4-dev 的问题

我最近libgtk-3-dev/libgtk-4-dev在我的计算机上安装了 apt 软件包。当<gtk/gtk.h>我在 C 代码中使用头文件并进行编译时,GCC 抛出一个错误,说它找不到头文件。

错误很模糊,我无法在任何地方找到解决方案,Stack Overflow 误解了我的问题并随后将其关闭,我不知道该怎么办。

命令

gcc pkg-config --cflags gtk+-3.0 -o myprogram main.c pkg-config --libs gtk+-3.0

输出

gcc: error: unrecognized command-line option ‘--cflags’
gcc: error: unrecognized command-line option ‘--libs’; did you mean ‘--libs=’?

这些是命令和输出。 pkg-config已安装在我的系统上。

答案1

pkg-config --cflags gtk+-3.0并且pkg-config --libs gtk+-3.0生成的命令编译器和链接器标志,而不是标志本身,例如:

$ pkg-config --libs gtk+-3.0
-lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0

要在命令行上使用它们,gcc您必须将它们包装在命令替换shell 语法 - 在 bash 中为:

gcc $(pkg-config --cflags gtk+-3.0) -o myprogram main.c $(pkg-config --libs gtk+-3.0)

或(使用较旧的“反引号”语法):

gcc `pkg-config --cflags gtk+-3.0` -o myprogram main.c `pkg-config --libs gtk+-3.0`

相关内容