我最近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`