Невозможно скомпилировать GTK4 в Fedora с примером Hello World Несмотря на наличие всех необходимых пакетов

Я прочитал инструкции по установке GTK для GTK4, которые я использовал

      sudo dnf install gtk4 gtk4-devel

Код примера Hello, World:

      #include <gtk/gtk.h>

static void
print_hello (GtkWidget *widget,
             gpointer   data)
{
  g_print ("Hello World\n");
}

static void
activate (GtkApplication *app,
          gpointer        user_data)
{
  GtkWidget *window;
  GtkWidget *button;

  window = gtk_application_window_new (app);
  gtk_window_set_title (GTK_WINDOW (window), "Window");
  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);

  button = gtk_button_new_with_label ("Hello World");
  g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL);
  gtk_window_set_child (GTK_WINDOW (window), button);

  gtk_window_present (GTK_WINDOW (window));
}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}

Я использовал функцию компиляции для GCC:

      gcc -o hello-world-gtk hello-world-gtk.c `pkg-config --cflags --libs gtk4`

Но эта ошибка представляет

      gtktest.c:1:10: fatal error: gtk/gtk.h: No such file or directory
    1 | #include <gtk/gtk.h>
      |          ^~~~~~~~~~~

Как я вижу, у меня должны быть установлены все необходимые пакеты, и я не уверен, почему компилятор не может извлечь библиотеку gtk. Любая помощь была бы потрясающей.

1 ответ

Хорошо, я нашел странное решение.

По какой-то причине это не сработало с использованием их вставленного кода компиляции, однако, когда я переключился на приведенный ниже, он работал нормально.

      gcc `pkg-config --cflags gtk4` hello.c -o hello `pkg-config --libs gtk4`
Другие вопросы по тегам