本来准备手动安装gtk+在自己的电脑上,后来好不容易在网上下载了gtk,glib,pango等各种依赖的库,手动安装的时候简单的make,make install老是出现问题,折腾了半天还是没解决,加上后面还有版本的配置等问题,暂且放弃,用源安装。等以后时间空了再试试手动安装,毕竟中间可以理解很多东西。
所以我们主要讲的是源安装:
1.命令行安装命令:
方法一:
安装命令:
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-doc |
方法二:
安装命令:
sudo apt-get install gnome-devel gnome-devel-docs一条语句可以完成我们需要的所有的glib,gtk,帮助手册等资源。
2.设置环境变量 PKG_CONFIG_PATH
安装完了之后,按理来说,我们可以使用测试程序对其进行相关功能测试了。但是这个时候肯定会报错。因为一个非常关键的环境变量我们还没有进行设置:
PKG_CONFIG_PATH,这个环境变量中必须包含我们的 glib,pango,gthread的路径。
1)首先我们更新软件数据库。updatedb(注意这一步很重要,要不你很可能定位不到需要的文件)
2)定位gtk+-2.0.pc,pango.pc,pthread-stubs.pc的位置:locate gtk+-2.0.pc;locate pango.pc;locate pthread-stubs.pc
3)定义环境变量:
结合前篇文章-—ubuntu中的环境变量。
在本文中,我们给单一用户进行环境变量的设置,于是操作如下:
打开当前用户的环境变量配置文件:vi ~/.bashrc
在文件中添加: PKG_CONFIG_PATH =" path1:path2:path3 "
export PATH
3.测试程序
#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注意:‘ ’符号不是我们的单引号,而是Esc按键下面的那个按键,很容易出错
会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello Ubuntu!
转载一个别人手动安装成功的文章,供以后参考:
http://www.cnitblog.com/zouzheng/archive/2008/01/24/39278.html
一、准备工作
1、GTK+2.6及相关源码包的下载!
ftp://ftp.gtk.org里面有绝大多数的软件包!下载吧!我在安装时就象在WINDOWS里一样什么都用最新的!呵呵。。。如下:
atk-1.9.0.tar.bz2、tiff-v3.6.1.tar.z、pkgconfig-0.15.0.tar.gz、libpng-1.2.8.tar.bz2 、jpegsrc.v6b.tar.gz
glib-2.6.4.tar.bz2、gtk+-2.6.6.tar.bz2、pango-1.8.1.tar.bz2、freetype-2.1.8.tar.bz2
fontconfig-2.3.1.tar.gz
二、源码包的安装及次序:
a、首先安装pkgconfig
./configure --prefix=/usr &&
make &&
make install
把下面的话加到你的系统或用户设置文件中:
export PKG_CONFIG_PATH=/usr/X11R6/lib/pkgconfig
最好/sbin/ldconfig一下,以后每安一个软件就/sbin/ldconfig一下,保险点.
b、 安装glib2.4
./configure --prefix=/usr &&
make &&
make install
/sbin/ldconfig
c、安装atk1.9
./configure --prefix=/usr &&
make &&
make install
/sbin/ldconfig
d、 安装freetype-2.1.8
./configure --prefix=/usr &&
make &&
make install
/sbin/ldconfig
e、 安装pango 1.8.1
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/lib/pkgconfig
./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install
/sbin/ldconfig
f、 安装libpng-1.2.8
make prefix=/usr \
ZLIBINC=/usr/include ZLIBLIB=/usr/lib -f scripts/makefile.linux &&
make prefix=/usr install -f scripts/makefile.linux
/sbin/ldconfig
g、 安装libtiff(就是tiff)
./configure --prefix=/usr --noninteractive \
--with-DIR_MAN=/usr/share/man &&
make &&
make install
/sbin/ldconfig
h、 安装libjpeg(就是jpegsrv)
./configure --enable-static --enable-shared --prefix=/usr &&
make &&
make install
/sbin/ldconfig
i、 安装fontconfig-2.2.2
./configure --sysconfdir=/etc --prefix=/usr --mandir=/usr/share/man && make && make install
/sbin/ldconfig
j、 安装gtk2.6.6
./configure --prefix=/usr --sysconfdir=/etc &&
make &&
make install
/sbin/ldconfig