第一个Gtk+窗口程序编译手记(Linux平台)

     本文的编译环境为Linux RedHat 9.0 + gcc,在编译以下窗口程序之前,必须确定你的系统已安装了以下三大组件:

1:开发工具

2:X软件开发

3:GNOME软件开发

     如果在安装Linux RedHat 9.0的时候未选择这三个软件包进行安装,则可以单击红帽图标-系统设置-添加/删除应用程序,打开软件包管理窗口,点选开发工具,X软件开发,GNOME软件开发这三项前的复选框进行安装。

1: 将以下代码保存为gtkwin.c文件,放在root管理员目录下。

#include  < gtk / gtk.h >

/* 按钮单击回调函数 */
void  Button_Click(GtkWidget  *  widget,gpointer  *  data)
{
    
/* 在命令行上打印一行消息 */
    g_print(
" button clicked and data = %s\n " ,( char   * )data);
}

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_window_set_title(GTK_WINDOW(window),
" My First GTK+ Window " );
    
/* 设置窗口边框宽度 */
    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(Button_Click), " Hello World! " );

    
/* 将按钮添加到窗口中 */
    gtk_container_add(GTK_CONTAINER(window),button);
    
/* 显示按钮和窗口 */
    gtk_widget_show(button);
    gtk_widget_show(window);

    
/* 进入消息循环 */
    gtk_main();

    
return   0 ;
}

2:单击红帽图标-系统工具-终端,打开命令行窗口。输入以下命令。其中[root@localhost root]#为命令行提示符,不需要手工输入。该提示符表示的是[当前用户名@当前机器名 当前所在目录]。注意,如果源文件不在root目录,则应先进入到该目录下。

[root@localhost root]# gcc -o gtkwin gtkwin.c `pkg-config --libs --cflags gtk+-2.0`
[root@localhost root]# ./gtkwin

      -o gtkwin选项表示编译生成的程序文件名为gtkwin,如果不指定该选项,则gcc编译器默认为a.out。gtkwin.c指定要编译的源文件名,`pkg-config --libs --cflags gtk+-2.0`要注意的是前后的两个"`"字符为键盘上数字键1旁边的那个键的输入,而不是";"键旁边的那个单引号键的输入。

      ./gtkwin运行编译生成后的当前目录下的gtkwin程序。

      OK,到这里一个Gtk+窗口程序就可以编译成功了。

      另一种编译方法可以使用Makefile,输入以下代码保存为Makefile文件,同样放到root管理员目录下。

     

CC = gcc
program
= gtkwin
#PATH 
+=   / usr / include / gtk2. 0
LDLIBS
= `pkg - config  -- libs gtk +- 2.0 `
CFLAGS
=   - Wall  - g `pkg - config  -- cflags gtk +- 2.0 `

$(program):$(program).o
$(CC) $(LDLIBS) $(program).o 
- o $(program)

$(program).o:$(program).c
$(CC) $(CFLAGS) 
- c $(program).c

clran:
- rm  - f $(program)
- rm  - * .o

 

      再在终端里输入:

[root@localhost root]# make

[root@localhost root]# ./gtkwin

      同样可以成功编译,并且方便得多。

转载于:https://www.cnblogs.com/ZYM/archive/2009/03/15/1412172.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值