И так простой пример:
main.c
Код: Выделить всё
#include <gtk/gtk.h>
int main( int argc, char *argv[] )
{
gtkwidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (gtk_window_toplevel);
gtk_widget_show (window);
gtk_main ();
return 0;
}Makefile
Код: Выделить всё
CC=gcc
all: main.c
$(CC) main.c -o main `pkg-config --cflags --libs gtk+-2.0`
# $(CC) `gtk-config --libs` `gtk-config --cflags` -o main main.c
# $(CC) -wall -g main.c -o main `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
clean:
/bin/rm -f *.o *~(все что за коментом - уже пробовал.)
в итоге получаю:
Код: Выделить всё
$ make
gcc main.c -o main `pkg-config --cflags --libs gtk+-2.0`
main.c: In function `main':
main.c:5: error: `gtkwidget' undeclared (first use in this function)
main.c:5: error: (Each undeclared identifier is reported only once
main.c:5: error: for each function it appears in.)
main.c:5: error: `window' undeclared (first use in this function)
main.c:9: error: `gtk_window_toplevel' undeclared (first use in this function)
make: *** [all] Error 1qygwin установлен полностью весь(все 1.5Gb ).
В интернете ничего не нашел. Единственная причина по которой такое может быть - это отсуствие пакета GTK+ 2.0 DEV...
вот вывод $pkg-config --cflags --libs gtk+-2.0
Код: Выделить всё
-DXTHREADS -DXUSE_MTSAFE_API -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangoxft-1.0 -lXft -lfreetype -lz -lXrender -lXext -lfontconfig -lpangox-1.0 -lX11 -lpango-1.0 -lm -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconvза ранее спасибо. )