調皮↙不搗蛋的博客——歡迎光臨

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

又要干新的活了,Linux下的GTK开发.没办法,从零开始吧.

首先是Linux环境的熟悉,我用的是Ubuntu10.04,跑在VMWare6.7里.

从虚拟机里安装Ubuntu需要注意不要选择easy install,应使用高级模式,选择"我以后再安装操作系统",如下图所示:

image image

然后在Devices中选择CD/DVD驱动器,载入Ubuntu ISO文件,启动虚拟机即可.

安装好Ubuntu之后再来熟悉一下Linux下的一些常用命令.

作为一个Windows开发人员,基本的计算机使用经验还是具备的,以下命令不详细介绍.若需要获取命令参数,可以使用--help参数进行查询.

ls / list  列出文件和文件夹

tab键 补全文件名

chgrp 更改组

chown 更改所有者

linux文件目录树状结构如下图:

image

所有目录的根目录都是"/"

文件与目录的说明参考鸟哥的Linux私房菜

 

目录切换:

cd /usr 切换到绝对目录

cd usr 切换到当前目录下的usr文件夹下

cd ../usr 切换到同级的usr目录下

特殊目录的表示:

..表示上级目录   .表示此级目录 ~表示自己的home目录 ~user 表示user的home目录

pwd 显示当前目录

mkdir 建立一个新目录

rmdir 删除一个空目录

增加PATH包含路径:PATH=”$PATH”:/dir

如增加gtk目录到环境变量中:

  PATH="$PATH":/usr/include/gtk-2.0/

  PATH="$PATH":/usr/include/gtk-2.0/gtk

cp 复制档案

rm 删除档案和目录  使用-rf参数以删除目录和目录下的所有内容

mv 移动档案和目录

其他的一些高级命令可以参考cat, tac, more, less, head, tail, nl可以参考鸟哥的介绍.

文件压缩:

tar –zcvf filename.tar.gz ./* 当前目录下所有文件打包成一个gz

tar –cvf filename.tar ./*  当前目录所有文件打包 不压缩

tar –xvf file.tar 解包

tar –zxvf file.tar.gz 解包

 

以上内容主要参考鸟哥的Linux私房菜

习惯了windows中的系统按钮在右侧,ubuntu中也改一下.

首先打开一个终端,在其中输入gconf-editor,打开配置编辑器(谨记,其他配置也可以到此处寻找),在apps——metacity——general中找到 button_layout键值,双击,将其中的内容改为menu:minimize,maximize,close,确定后三个按钮就老老实实的回到右边了,这时候的三个键的顺序从左到右依次是最小化、最大化、关闭。(转载自奶牛博客)

输入法可以选择用ubuntu软件中心中的Fcitx,提供比较接近windows的操作体验.

Ubuntu快捷键

Ctrl+Alt+T 新建终端

ALT+ F1:启动程序菜单,这可能我平时用得最多的

ALT + Home:跳转至家目录

ALT + Enter:显示文件/文件夹属性

ALT + F2:启动“运行应用程序”对话框

ALT + F4:关闭窗口

ALT + Left/Right:在Nautilus导航文件夹时执行回退/前进操作

ALT + Up/Down:在Nautilus导航文件夹时执行向上/向下操作

ALT + Tab : 浏览窗口

Shift + Del:不通过回收站,直接永久删除文件

F2:重命名文件/文件夹

F3:启动Nautilus的分割浏览

F8:显示/隐藏Nautilus菜单栏

F9:切换Nautilus侧栏

Super + Tab:“Shift切换”,需要在CCSM中启动

Super + M:反转所有颜色

Super + A或W:分组排列窗口(需要Compiz)

CTRL + L:浏览/编辑完整位置路径

CTRL + A:全选

CTRL + N:新窗口

CTRL + Shift + N:新文件夹

CTRL + H:显示隐藏文件/不显示隐藏文件

CTRL + ALT + L:锁定屏幕

---------------------------------------------------------------------------

了解了这些基本的东西之后,开始部署GTK开发环境.

Ubuntu中已经自带了GCC编译器,但是还需要一些必须的头文件,所以要安装build-essential这个软件包.

sudo apt-get install build-essential  安装该软件包

安装完成后写一个C语言程序testc.c测试一下。

int main()
{
printf("Hello Ubuntu!\n");
return 0;
}

 

Hello Ubuntu!

 

安装GTK环境

个人比较喜欢的编辑器是Geany.可以在Ubuntu软件中心中找到.

sudo apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

sudo apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置

sudo apt-get install devhelp #这将安装 devhelp GTK文档查看程序

sudo apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档

sudo apt-get instal glade libglade2-dev #这将安装基于GTK的界面构造程序。

 

写一个示例程序测试:

#include<gtk/gtk.h>
void hello(GtkWidget *widget,gpointer data)
{
    g_print("Hello Ubuntu!\n");
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
{
    g_print ("delete event occurred\n");
    return(TRUE);
}
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);
    gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
    gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
    gtk_container_set_border_width (GTK_CONTAINER (window), 10);
    button = gtk_button_new_with_label ("Hello Ubuntu!");
    gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
    gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
    gtk_container_add (GTK_CONTAINER (window), button);
    gtk_widget_show (button);
    gtk_widget_show (window);   /*显示一个窗口*/
    gtk_main();   /*进入主循环*/
    return(0);
}

用下边的命令编译执行

$ gcc `pkg-config --cflags --libs gtk+-2.0` gtktest.c -o gtktest
$ ./gtktest

以上参考Ubuntu wiki

Help文件可以到应用程序-->编程--DevHelp中看到.

至此,GTK开发环境配置完成,可以进行开发了.

另:一篇很好的参考文章,Makefile详解.

跟我一起写 Makefile

posted on 2011-11-29 14:32  調皮↙不搗蛋  阅读(4880)  评论(0编辑  收藏  举报