1

我正在运行 Ubuntu 21.10 并已安装build-essentialGnome libgtk-4-devBuilder 作为 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/的符号链接,但这似乎是一个我不应该下去的兔子洞。我还没开始就被卡住了!任何帮助表示赞赏。

4

1 回答 1

1

根据有关在 Unix 上使用 GTK4 编译程序的官方 C文档,您需要在运行编译器之前使用必要的路径运行 pkg-config:

包括:

$ 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标志。

于 2022-02-23T16:14:23.513 回答