我运行的是Ubuntu 21.10,并且已经安装了build-essential
、libgtk-4-dev
和Gnome Builder作为IDE。我从一个从#include <gtk/gtk.h>
开始的基本教程开始,但它给出了错误:
1:10: error: 'gtk/gtk.h' file not found
我在某个地方读到它应该在/usr/include/中,但当我查看时,我发现它在/usr/include/gtk-4.0/gtk/gtk.h中
设置我的系统以使默认包含行工作的最佳方式是什么?我读过https://askubuntu.com/questions/1374329/how-to-compile-a-gtk4-application-in-ubuntu-21-10但他的修复是安装libgtk-4-dev,我已经完成了。我想创建一个从/usr/include/gtk-4.0/gtk/gtk.h到usr/include/的符号链接,但这似乎是一个兔子洞,我不应该去。我还没开始就被卡住了!感谢您的帮助。
根据关于在Unix上使用GTK4编译程序的官方C文档,在运行编译器之前,您需要使用必要的路径运行pkg配置:
包括:
$ pkg-config --cflags gtk4 -pthread -I/usr/include/gtk-4.0
-I/usr/lib64/gtk-4.0/include -I/usr/include/cairo
-I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1
-I/usr/include/freetype2 -I/usr/include/libpng12
库:
$ pkg-config --libs gtk4 -pthread -lgtk-4 -lgdk-4 -lgio-2.0
-lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo
-lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0
-lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
编译:
$ cc `pkg-config --cflags gtk4` hello.c -o hello `pkg-config --libs gtk4`
确保将cc
替换为相应的编译器,将hello
替换为源文件和所需的可执行文件名。此外,您可能需要删除-pthread
标志。