学习GTK+笔记二

来源:互联网 发布:被男朋友舔 知乎 编辑:程序博客网 时间:2024/05/16 00:50
现在开始测试一下。

一、新建d:/test/hello.c文件,输入:

#include <gtk/gtk.h>
static gboolean delete_event( GtkWidget *widget, GdkEvent *event, gpointer data)
{
    g_print( "delete event occurred/n");
    return FALSE;
}
static void destroy( GtkWidget *widget, gpointer data)
{
    gtk_main_quit();
}

int main( int argc, char *argv[])
{
    GtkWidget *window;
    GtkWidget *label;
    gtk_init( &argc, &argv);
    window= gtk_window_new( GTK_WINDOW_TOPLEVEL);
    g_signal_connect( G_OBJECT( window), "delete_event", G_CALLBACK( delete_event), NULL);
    g_signal_connect( G_OBJECT( window), "destroy", G_CALLBACK( destroy), NULL);
    label= gtk_label_new( "Hello GTK");
    gtk_container_add( GTK_CONTAINER( window), label);
    gtk_container_set_border_width( GTK_CONTAINER (window), 10);
    gtk_widget_show( label);
    gtk_widget_show( window);
    gtk_main();
    return 0;
}

二、运行cmd,在窗口中输入pkg-config --cflags --libs gtk+-2.0,回车后得到结果:

-mms-bitfields -IC:/gtk/include/gtk-2.0 -IC:/gtk/lib/gtk-2.0/include -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/pango-1.0 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include -IC:/gtk/include/libpng12  -LC:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl

三、建立d:/test/makefile文件, 输入

main:hello.c
    gcc hello.c -o hello  -mms-bitfields -IC:/gtk/include/gtk-2.0 -IC:/gtk/lib/gtk-2.0/include -IC:/gtk/include/atk-1.0 -IC:/gtk/include/cairo -IC:/gtk/include/pango-1.0 -IC:/gtk/include/glib-2.0 -IC:/gtk/lib/glib-2.0/include -IC:/gtk/include/libpng12  -LC:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl

四、运行cmd,在窗口中输入:

d:

cd /test

make

编译得到hello.exe

五、运行hello.exe,测试成功。

原创粉丝点击