erro fatal: gtk / gtk.h: Nenhum arquivo ou diretório

-1

Eu sei que esta pergunta foi respondida várias vezes, eu tentei cada um deles, mas ainda não consegui encontrar a solução exata. Eu estou começando a aprender o GTK + 3.0 com o Glade User Interface. Eu sei que o Glade irá gerar XML para o design e o mesmo XML pode ser usado em nosso programa c / cpp. Mas para executar o programa, é necessário ter todas as bibliotecas instaladas ou o caminho deve ser definido para as bibliotecas no IDE. Eu estou usando o Anjuta IDE para desenvolver este programa sempre que eu tentei construir o programa eu recebo o seguinte erro.

gtk/gtk.h: No such file or directory

Códigodoprograma

#include<gtk/gtk.h>!#include<glade/glade.h>voidok_button_clicked(GtkWidget*widget,gpointeruser_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;
}

Sempre que eu tento adicionar Lib ou External Lib, não consigo adicionar o arquivo gtk/gtk.h , o mesmo arquivo já está em /usr/include/gtk-3.0/gtk/gtk.h e quando tento copiar o mesmo em libanjuta o mesmo código ainda dando o mesmo erro, Qualquer ajuda será muito apreciada amigos, estou lutando muito para executar o programa ..

Obrigado Amul Bhatia

    
por Amul Bhatia 29.06.2014 / 13:03

1 resposta

0

Se você quer apenas compilá-lo e rodar diferente de fazer um makefile

salve esse arquivo no link ao lado do arquivo foobar.c como example-1.glade

link

e abra o terminal e mude para o diretório que contém foobar.c e example-1.glade e emita esta linha

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

e execute o binário

 ./foobar

Ou se você insistir em compilá-lo com makefile, substitua seu makefile por este

 ## 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

Eu testei as instruções acima no meu sistema, funciona.

    
por kenn 29.06.2014 / 20:06