фатальная ошибка: gtk / gtk.h: нет такого файла или каталога

Я знаю, что на этот вопрос отвечали несколько раз, я пробовал каждый из них, но все еще не мог найти точное решение. Я начинаю изучать GTK + 3.0 с Glade User Interface. Я знаю, что Глейд сгенерирует XML для дизайна, и тот же XML можно использовать в нашей программе c / cpp. Но для выполнения программы необходимо установить все библиотеки или указать путь к библиотекам в IDE. Я использую Anjuta IDE для разработки этой программы всякий раз, когда я пытался собрать программу, я получаю следующую ошибку.

gtk/gtk.h: No such file or directory

enter image description here

Программный код

#include <gtk/gtk.h>!
#include <glade/glade.h>

void
ok_button_clicked (GtkWidget *widget, gpointer user_data)
{
  printf ("Thanks for trying out my program.\n");
  gtk_main_quit ();
}

int main (int argc, char *argv[])
{
  GladeXML  *main_window;
  GtkWidget *widget;

  gtk_init (&argc, &argv);

  /* load the interface */
  main_window = glade_xml_new ("example-1.glade", NULL, NULL);

  /* connect the signals in the interface */

  /* Have the ok button call the ok_button_clicked callback */
  widget = glade_xml_get_widget (main_window, "OKButton");
  g_signal_connect (G_OBJECT (widget), "clicked",
                    G_CALLBACK (ok_button_clicked),
                    NULL);

  /* Have the delete event (window close) end the program */
  widget = glade_xml_get_widget (main_window, "MainWindow");
  g_signal_connect (G_OBJECT (widget), "delete_event",
                    G_CALLBACK (gtk_main_quit), NULL);

  /* start the event loop */
  gtk_main ();

  return 0;
}

Всякий раз, когда я пытаюсь добавить Lib или External Lib, я не могу добавить gtk/gtk.h, тот же файл уже есть в /usr/include/gtk-3.0/gtk/gtk.h, и когда я пытаюсь скопировать его в libanjuta, тот же код все еще выдает ту же ошибку. Любая помощь будет высоко оценена друзьями, я изо всех сил стараюсь выполнить программу ..

Спасибо, Амул Бхатия.

-1
задан 29 June 2014 в 15:29

1 ответ

Если Вы просто хотите скомпилировать его и работать кроме создания make-файла

сохраните этот файл в ссылке около Вашего foobar.c файла как пример-1.glade

https://github.com/interval1066/XFC/blob/master/examples/glade/example-1/example-1.glade

и откройте терминал и переключитесь на каталог, содержащий foobar.c и пример-1.glade, и выпустите эту строку

 gcc -o foobar foobar.c `pkg-config --cflags --libs libglade-2.0`

и выполненный двоичный файл

 ./foobar

Или если Вы настаиваете на том, чтобы компилировать его с make-файлом, заменяете свой make-файл этим

 ## Created by Anjuta

 CC = gcc
 CFLAGS = -g -Wall
 OBJECTS = foobar.o
 INCFLAGS = 
 LDFLAGS = -Wl,-rpath,/usr/local/lib
 LIBS =$(shell pkg-config gtk+-2.0 libglade-2.0 --libs)

 GTKFLAGS=-export-dynamic `pkg-config --cflags --libs libglade-2.0 `
 all: foobar

 foobar: $(OBJECTS)
$(CC) -o foobar $(OBJECTS) $(LDFLAGS) $(LIBS)

 .SUFFIXES:
 .SUFFIXES: .c .cc .C .cpp .o

 .c.o :
    $(CC) -o $@ -c $(CFLAGS) $< $(INCFLAGS) $(GTKFLAGS)

 count:
    wc *.c *.cc *.C *.cpp *.h *.hpp

 clean:
    rm -f *.o

 .PHONY: all
 .PHONY: count
 .PHONY: clean

Я протестировал выше инструкций в моей системе, она работает.

0
ответ дан 29 June 2014 в 15:29

Другие вопросы по тегам:

Похожие вопросы: