识别 cflag、make 所需的库

识别 cflag、make 所需的库

我正在尝试从 sourceforge 构建一个使用 GTK2+ 的软件包。我正在运行安装了 GTK4 的 Ubuntu 22.04。我已将对 GTK2+ 的引用更改为 GTK4。但我不知道该使用 gdk、glib 和 gthread 什么。有没有办法列出已安装的软件包?原始 makefile 有:

GRXLFLAGS =pkg-config --libs gtk+-2.0 gdk-2.0 glib-2.0 gthread-2.0

GRXCFLAGS =pkg-config --cflags gtk+-2.0 gdk-2.0 glib-2.0 gthread-2.0

经过一番尝试,我决定

GRXLFLAGS =pkg-config --libs gtk4

GRXCFLAGS =pkg-config --cflags gtk4

将忽略 make 的即时错误并允许编译器运行并生成如下投诉:

rexxgtk.h:78:20:错误:'GdkEventKey' 尚未声明 78 | GdkEventKey *event,| ^~~~~~~~~~~ rexxgtk.h:81:20:错误:'GdkEventButton' 尚未声明 81 | GdkEventButton *event,

大概是因为我没有在 cflags 中指定当前等效的 gdk-xx。有人能告诉我是否有一种通用方法可以查找已安装软件包的名称吗?如果没有,有人能告诉我 Ubuntu 22.04 的适当值是什么吗?

相关内容