gtk在linux下编译,Ubuntu下GTK的安装

1、配置GCC 刚装好的GCC什么都不能编译,因为没有一些必须的头文件,所以要安装build-essential,安装了这个包会安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等好多必须的软件和头文件。

sudo apt-get install build-essential 安装完成后写一个C语言程序testc.c测试一下。

#include

int main

{

printf("Hello Ubuntu!\n");

return 0;

}

$ gcc testc.c -o testc

$ ./testc显示

Hello Ubuntu! C语言编译器安装成功;

2、安装GTK环境

安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包。除此之外还要转一些其他的东西,如libglib2.0 -doc、libgtk2.0-doc帮助文档,devhelp帮助文档查看,glade-gnome、glade-common、glade-doc图形界面设计等。

sudo apt-get install gnome-core-devel

sudo apt-get install libglib2.0-doc libgtk2.0-doc

sudo apt-get install devhelp

sudo apt-get install glade-gnome glade-common glade-doc3、测试程序

#include

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 gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`

$ ./gtktest会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello Ubuntu! 4、QT安装

libqt4-core

qt4-designer

qt4-dev-tools

qt4-qtconfig

libqt4-dev

libqt4-gui libqt4-debug

libqt4-sql这个我还没有怎么用过,在新立得里面搜索QT4,看着差不多的都装上了。

5、装一个IDE Linux里面有个一个C C++的IDE 叫Geany,在菜单“应用程序”->“添加删除程序”,在里面program里找一下就可以了。

上面的两个帖子,讲了一些如何配置的问题,不过还是比较缺乏资料。

再附上一个:http://www.cnblogs.com/bigshow/archive/2009/08/18/1294873.html

GTK的安装

apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具

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

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

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

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

apt-get install glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库。

apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。

应用程序编译命令:gcc test.c `pkg-config --cflags --libs gtk+-2.0`,编译通过,运行正常。

pkg-config是一个用来管理包的程序,在控制台输入 pkg-config --cflags --libs gtk+-2.0,可以发现输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。

这里有一点需要注意, gcc test.c `pkg-config --cflags --libs gtk+-2.0`, pkg-config --cflags --libs gtk+-2.0两侧的引号并不是真正的引号,而是键盘数字件那一行,最左边的那个字符。如果错用了单引号,gcc无法使用 pkg-config --cflags --libs gtk+-2.0产生的文本作为编译选项。构造程序。

【后记】:

照着上面的方法,一个个的试了下,总是出现了一个问题:

cbef093dcc044b2793832001e2365e43.png下列的软件包有不能满足的依赖关系:

cbef093dcc044b2793832001e2365e43.png    glade-doc: 依赖: libscrollkeeper0 但却无法安装它

cbef093dcc044b2793832001e2365e43.png     E: 无法安装的软件包

cbef093dcc044b2793832001e2365e43.png

没有什么好的办法解决,搜了下,发现原因可能是出在了更新和安装的时候,版本之间的依赖关系没有做好,低版本的和高版本的直接没有做好这个关系,所以出现了上面的错误,不过那个事最后一步,而且可以看到,出错的是glade-doc文件,虽然它不能安装,不过仅仅是一个文档而已,没有太大的印象。

尝试再次编辑,没有成功。

于是尝试了下:sudo apt-get upgrade

彻底的升级了一下软件,发现了很多安装,全部装下去,OK。

要求重启,立即重启。

重启后,再次编译,尝试了两次,OK,出现了一个很简单的界面,于是,证明能够使用这个库了。

GTK+,我终于把你搞定了,安装成功,发个截图看看。