一、安装JDK以及Eclipse(CDT版),我这里就不多介绍了。
二、GTK(有时间补)
三.创建工程
新建project new->c project,project type 选择Hello world ANSI c project,然后按如下步骤配置:
在project->properties->c/c++ build 下 setting :
(1)gcc complier->includes->include paths (-I) 中一项项添加命令的结果‘pkg-config --cflags gtk+-2.0’,即添加头文件路径
我机子上执行‘pkg-config --cflags gtk+-2.0’结果如下:
laptop:~/workspace/gtk/src$ pkg-config --cflags gtk+-2.0
-pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12
即一项项添加
/usr/include/gtk-2.0
/usr/lib/gtk-2.0/include
/usr/include/atk-1.0
/usr/include/cairo
/usr/include/pango-1.0
/usr/include/gio-unix-2.0/
/usr/include/glib-2.0
/usr/lib/glib-2.0/include
/usr/include/pixman-1
/usr/include/freetype2
/usr/include/directfb
/usr/include/libpng12
(2)对于linker:
GCC C linker -> libraries中添加命令'pkg-config --libs gtk+-2.0'执行结果
我机子上执行‘pkg-config --libs gtk+-2.0’结果如下:
laptop:~/workspace/gtk/src$ pkg-config --libs gtk+-2.0
-pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
即一项项添加
gtk-x11-2.0
gdk-x11-2.0
atk-1.0
gio-2.0
pangoft2-1.0
gdk_pixbuf-2.0
pangocairo-1.0
cairo
pango-1.0
freetype
fontconfig
gobject-2.0
gmodule-2.0
gthread-2.0
rt
glib-2.0
另外还需加入库的搜索路径/usr/lib/gtk-2.0
三.GTK程序Hello_world示例
#include<gtk/gtk.h>
/*定义回调函数hello,点击按钮时被系统自动调用*/
void hello(GtkWidget *widget,gpointer *data)
{
g_print("button clicked and data = %s\n",(char *)data);
}
/*定义回调函数destroy,关闭窗口时被系统自动调用*/
void destroy(GtkWidget *widget,gpointer *data)
{
gtk_main_quit();
}
int main(int argc,char **argv)
{
/*定义指向控件的指针*/
GtkWidget *window;
GtkWidget *button;
/*初始化图形显示环境*/
gtk_init(&argc,&argv);
/*创建窗口,并设置当关闭窗口时,要执行的回调函数*/
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(GTK_OBJECT(window),"destroy",
GTK_SIGNAL_FUNC(destroy),NULL);
/*设置窗口的属性*/
gtk_container_border_width(GTK_CONTAINER(window),20);
/*创建按钮,并设置当点击按钮时,要执行的回调函数*/
button = gtk_button_new_with_label("Hello World");
g_signal_connect(GTK_OBJECT(button),"clicked",
GTK_SIGNAL_FUNC(hello),"I am from button");
/*将按钮加入到窗口中*/
gtk_container_add(GTK_CONTAINER(window),button);
/*显示按钮和窗口*/
gtk_widget_show(button);
gtk_widget_show(window);
/*进入消息处理循环*/
gtk_main();
return 0;
}
编辑运行就可以了
若出现launch failed.Binary not found问题直接选择project>build all就可以了