Ubuntu下安装GTK+及Glade开发C应用界面

时间:2022-01-24 17:03:49

GTK+是在一系列的函数库基础上建立的,所以在安装GTK+函数库前,首先要将其依赖的函数库安装。


一、安装

1、安装gcc/g++/gdb/make 等基本编程工具

$sudo apt-get install build-essential

2、安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

$sudo apt-get install gnome-core-devel

3、用于在编译GTK程序时自动找出头文件及库文件位置  

$sudo apt-get install pkg-config

4、安装 devhelp GTK文档查看程序

$sudo apt-get install devhelp

5、安装 gtk/glib 的API参考手册及其它帮助文档

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

6、安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库

$sudo apt-get install glade libglade2-dev
或者
$sudo apt-get install glade-gnome glade-common glade-doc

7、安装gtk2.0 或者 将gtk+2.0所需的所有文件统通下载安装完毕

$sudo apt-get install libgtk2.0*

二、查看GTK库版本

1、查看1.2.x版本

$pkg-config --modversion gtk+

2、查看 2.x 版本

$pkg-config --modversion gtk+-2.0

3、查看pkg-config的版本

$pkg-config --version

4、查看是否安装了gtk

$pkg-config --list-all grep gtk

三、测试程序

//Helloworld.c
include <gtk/gtk.h>
int main(int argc,char *argv[]){
GtkWidget    *window;
GtkWidget    *label;

gtk_init(&argc,&argv);

/* create the main, top level, window */
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

/* give it the title */
gtk_window_set_title(GTK_WINDOW(window),"Hello World");

/* connect the destroy signal of the window to gtk_main_quit
 * when the window is about to be destroyed we get a notification and
 * stop the main GTK+ loop
 */
g_signal_connect(window,"destroy",G_CALLBACK(gtk_main_quit),NULL);

/* create the "Hello, World" label */
label = gtk_label_new("Hello, World");

/* and insert it into the main window */
gtk_container_add(GTK_CONTAINER(window),label);

/* make sure that everything, window and label, are visible */
gtk_widget_show_all(window);

/* start the main loop, and let it rest until the application is closed */
gtk_main();

return 0;
}

四、编译运行

1、编译

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

(‘ ’符号不是我们的单引号,而是Esc按键下面的那个按键,很容易出错)

2、运行

$./Helloworld

程序结果:显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello world!

五、常见错误:

1、sudo apt-get install gnome-core-devel

下列软件包有未满足的依赖关系:

gnome-core-devel :

依赖: gnome-platform-devel (= 1:3.8+4ubuntu3) 但是它将不会被安装

依赖: libatspi2.0-dev (>= 2.4) 但是它将不会被安装

依赖: libatkmm-1.6-dev (>= 2.4) 但是它将不会被安装

依赖: libbrasero-media3-dev (>= 3.4) 但是它将不会被安装

依赖: libcaribou-dev (>= 0.4) 但是它将不会被安装

依赖: libclutter-gst-dev (>= 1.5.4) 但是它将不会被安装

解决办法:

  • 打开 software & update,在 update 中 把 important security updates 和 Recommended updates 勾选上,再 sudo apt-get update。

  • 或者更改源:

1、点击右上角的”搜索“图标,在搜索框中输入update,在显示的应用列表中,点击”Software&Updates(软件&更新)“。

2、在弹出的”Software&Updates“窗口中,选择”Ubuntu Software“
”Download from(下载源)“是”Server for United States(美国服务器)“。点击”Server for United States“下拉菜单,选择”Other…(其他)“。

3、在弹出”Choose a Download Server(选择下载服务器)“窗口中向上拉,找到China(中国),
选择中国的服务器,然后点击”Choose Server(选择服务)“按钮。

2、提示没有环境变量 PKG_CONFIG_PATH

解决办法:

  • 在很多人编译GTK程序时都会出现说gtk.h文件找不到,之所以会出现这种问题就归咎于环境变量没有配置。

  • 首先我们要做的就是找到其对应的.pc文件,在终端中输入pkg-config –modversion gtk+-2.0,提示找不到xproto.pc文件,需要把包含该文件的目录放到PKG_CONFIG_PATH里,搜索了一下,该文件在/usr/share/pkgconfig下,那么我们就改环境变量:
    在 /etc/profile中增加:

    export PKG_CONFIG=/usr/local/bin/pkg-config
    export PKG_CONFIG_PATH=/usr/share/pkgconfig:/usr/lib/pkgconfig

参考文章:


Glade是linux系统下设计GTK+程序界面的所见即可得工具,开发者可将窗体构件作为画布,通过向画布添加界面构件设计程序界面。

  • 1、在终端输入下列命令即可安装:

    apt-get install glade

  • 2、Ubuntu系统也自带有glade,在搜索内直接输入glade,打开便可。

  • 3、从官方网站上下载Glade: http://glade.gnome.org/download.html
    安装源码包:

    # tar jxf glade-2.6.8.tar.bz2
    # cd glade-2.6.8/
    # ./configure --prefix=/usr
    # make  
    # make install  
    

关于Glade的介绍,有时间再写。