Ubuntu + Eclipse + GTK环境搭建

6 篇文章 0 订阅
5 篇文章 0 订阅

一、安装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就可以了


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值