无法在 Debian 上使用 GTK,因为库总是丢失

无法在 Debian 上使用 GTK,因为库总是丢失

由于我的懒惰,我下载了 GTK 程序的预编译二进制文件(而不是编译它们,考虑到它是多么浪费时间,这将是一个拖累)。编辑:使用 sudo apt get,这意味着它应该是兼容的

我想我已经下载了其中一些。我确实下载了一个带“-dev”标签的版本和一个不带“-dev”标签的版本。

如果我没记错的话,我尝试执行的程序来自“GeeksForGeeks”。

#include <gtk/gtk.h>
static int counter = 0;

void greet(GtkWidget* widget, gpointer data)
{
    // printf equivalent in GTK+
    g_print("Welcome to GTK\n");
    g_print("%s clicked %d times\n",
            (char*)data, ++counter);
}

void destroy(GtkWidget* widget, gpointer data)
{
    gtk_main_quit();
}

int main(int argc, char* argv[])
{

    GtkWidget* window;
    GtkWidget* button;
    gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    g_signal_connect(window, "destroy",
                    G_CALLBACK(destroy), NULL);
    /* Let's set the border width of the window to 20.
    * You may play with the value and see the
    * difference. */
    gtk_container_set_border_width(GTK_CONTAINER(window), 20);

    button = gtk_button_new_with_label("Click Me!");

    g_signal_connect(GTK_OBJECT(button),
                    "clicked", G_CALLBACK(greet),
                    "button");

    gtk_container_add(GTK_CONTAINER(window), button);

    gtk_widget_show_all(window);

    gtk_main();

    return 0;
}

但是在将其复制粘贴到 micro 后,在保存之前,我遇到了错误,指出没有这样的目录,例如 gtk/gtk.h。

然后我继续链接 gtk.h 的确切位置。

那个人遇到了另一个错误:吉奥.h

我尝试过谷歌搜索,但没有一个结果给我一个有效的答案。我也希望这个问题与 unix stackexchange 相关,因为它是一个关于编程的主题。我之所以将其发布在这里,是因为它主要是与 linux/unix 系统密切相关的问题,而不是代码。据我所知,该代码完全没问题。

PS 正如屏幕截图中所见,我确实尝试链接​​库和其他东西

答案1

你需要sudo apt install libgtk-3-dev

然后使用从 pkg-config 获得的选项编译它:

gcc $(pkg-config --cflags gtk+-3.0) $(pkg-config --libs gtk+-3.0) -o prog program.c

相关内容