纪念一次Ubuntu8.04下的GTK源码安装经历
来源:互联网 发布:js e.target ie 编辑:程序博客网 时间:2024/04/28 08:06
GTK依赖于特定的库:
GLib 库
ATK 库
Cairo 库
Pango 库
依赖库的安装顺序:
根据依赖关系的要求,库的安装要按照这样的先后顺序进行:
GLib、Atk、Cairo、Pango、Gtk+.
解压bz2和xz包命令及源码编译GTK+库:
tar xvfj gtk+-3.2.0.tar.bz2
tar xvfJ gtk+-3.2.0.tar.xz
./configure --prefix=/opt/gtk
make
make install
CPPFLAGS="-I/opt/gtk/include"
LDFLAGS="-L/opt/gtk/lib"
PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig"
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH
LD_LIBRARY_PATH="/opt/gtk/lib"
PATH="/opt/gtk/bin:$PATH"
export LD_LIBRARY_PATH PATH
GTK依赖于特定的库:
GLib 库
ATK 库
Cairo 库
Pango 库
依赖库的安装顺序:
根据依赖关系的要求,库的安装要按照这样的先后顺序进行:
GLib、Atk、Cairo、Pango、Gtk+.
解压bz2和xz包命令及源码编译GTK+库:
tar xvfj gtk+-3.2.0.tar.bz2
tar xvfJ gtk+-3.2.0.tar.xz
./configure --prefix=/opt/gtk
make
make install
CPPFLAGS="-I/opt/gtk/include"
LDFLAGS="-L/opt/gtk/lib"
PKG_CONFIG_PATH="/opt/gtk/lib/pkgconfig"
export CPPFLAGS LDFLAGS PKG_CONFIG_PATH
LD_LIBRARY_PATH="/opt/gtk/lib"
PATH="/opt/gtk/bin:$PATH"
export LD_LIBRARY_PATH PATH
如果出现网络断开的情况,则环境变量需要重新设置
Linux下解压tar.xz包方法:
先在下面这个站点下载解压工具http://tukaani.org/xz/xz-4.999.9beta.tar.bz2
$tar -jxvf xz-4.999.9beta.tar.bz2$./configure --prefix=/opt/gnu/xz
$make
$sudo make install
$ln -s /opt/gnu/xz/bin/xz /bin/xz (前面那个路径可能有差异,自己进去看看)
$xz -d ***.tar.xz
$tar -xvf ***.tar
安装GLib
可能会报Working zlib librar and headers not found:
下载zlib包
$tar -xvzf zlib-1.2.3.tar.gz$cd zlib-1.2.3.tar.gz$./configure $make$sudo make install
可能会报Package requirements (libffi >= 3.0.0) were not met: No package ‘libffi’ found
下载libffi包
$tar -xvzf libffi-3.0.11.tar.gz$cd libffi-3.0.11$./configure $make$sudo make install
可能会报Your must have either have gettext support in your C library, or use the GNU gettext library:
下载gettext包
$tar -xvzf gettext-0.18.1.1.tar.gz$cd gettext-0.18.1.1$./configure $make$sudo make install
安装Atk
安装GDK
可能会报TIFF loader will not be built(TIFF library not found):
下载tiff包
$tar -xvzf tiff-4.0.2.tar.gz$cd gettext-4.0.2$./configure $make$sudo make install
可能会报JPEG loader will not be built(JPEG library not found):
下载libjpeg包
$tar -xvzf jpegsrc.tar.gz$cd jpegsrc$./configure $make$sudo make install
可能会报PNG loader will not be built(PNG library not found):
下载libpng包
$tar -xvzf libpng-1.2.50.tar.gz$cd libpng-1.2.50$./configure $make$sudo make install
安装Cairo
可能会报mandatory image surface backend feature could not be enabled:
下载pixman-0.26.2包
$tar -xvzf pixman-0.26.2.tar.gz$cd pixman-0.26.2$./configure $make$sudo make install
需要安装xcb-proto, libpthread-stubs, xproto, libXau, libxcb
需要安装libxml2库
需要安装freetype库和fontconfig库
下载freetype包
$tar -xvzf freetype-2.3.5.tar.gz$cd freetype-2.3.5$./configure $make$sudo make install
下载fontconfig包
$tar -xvzf fontconfig-2.10.1.tar.gz$cd fontconfig-2.10.1$./configure $make$sudo make install
然后安装Cairo库
安装libX11(即xlib库)和libXext库,需要安装多个依赖库和工具库。
安装Pango
可能会报Could not enable any of FreeType,X11,Cairo,or Win32 backends,则修改Pango的Configure文件:
have_cairo=true
have_cairo_freetype=true
安装GTK+
可能会报XInput2 extension not found:
无法找到XInput2文件,
安装Libxi-1.4.0库
此处略去……
安装过程真是险象丛生,不过终于成功了。
切记:安装过程中一定要注意安装包的版本是否匹配,否则会报错。
gtk编程实例
gcc `pkg-config gtk+-3.0 --cflags --libs` -o helloworld helloworld.c
注意是反单引号
export DISPLAY=127.0.0.1:10.0
./helloworld
弹出窗口
问题及解决方案:
Ubuntu本来是自动启动图形界面的,可是却启动不了显示:
Loading, pease wait...
Kinit: name_to_dev_t(/dev/disk/by-uuid/104ad992-ca26-4337-90a1-17f14a0ea667)= sda8(8,8)
kinit: No resume image, doing normal boot……
解决方法:
一般是用 swap分区保存系统休眠恢复的镜像,所以 /etc/initramfs-tools/conf.d/resume记录的是 RESUME=UUID=104ad992-ca26-4337-90a1-17f14a0ea667,也就是 swap的UUID。如果上次是休眠的话,会自动加载休眠时保存的状态。如果上次是关机断电的话,启动的时候会自动跳过。
休眠功能本来就没什么用,我在Win下也都是从来不用这个功能的,直接屏蔽掉就OK啦!
sudo vi /etc/initramfs-tools/conf.d/resume
#RESUME=UUID=104ad992-ca26-4337-90a1-17f14a0ea667
update-initramfs -u
如果ubuntu出现欢迎程序出错的情况,
可以使用下面的解决方法:
sudo gedit /xxxx/…/etc/gdm/gdm.conf-custom
打开找到 [daemon],在下面一行加入
Greeter=/usr/lib/gdm/gdmlogin
- 纪念一次Ubuntu8.04下的GTK源码安装经历
- 纪念一次Ubuntu8.04下的GTK源码安装经历
- 纪念一次Ubuntu8.04下的GTK源码安装经历
- Vmware下的ubuntu8.04安装systemc
- ubuntu8.04下的Boa Webserver安装
- GTK的源码安装
- Ubuntu8.04下安装Eclipse
- Ubuntu8.04下安装DC2007
- ubuntu8.04下安装PHP5
- Ubuntu8.04下安装Boost_1_37
- VMware 6.0下安装ubuntu8.04的VMTools
- ubuntu8.04英文环境下中文输入法scim的安装
- Windows下硬盘安装Ubuntu8.04的二种方法
- UBUNTU8.04下的Google Gadgets For Linux安装
- virtualbox下安装ubuntu8.04 关于 虚拟文件的设置
- VMware 6.0下安装ubuntu8.04的VMTools
- XP下安装Ubuntu8.04双系统
- ubuntu8.04下 安装IE +讯雷
- Missing artifact com.sun:tools:jar:1.5.0:system 问题
- java——继承设计的技巧
- 看一遍那些晦涩的网络术语都弄明白
- 设计包含min函数的栈
- 11个强大的Visual Studio调试小技巧
- 纪念一次Ubuntu8.04下的GTK源码安装经历
- 设计模式(3)观察者模式
- window启动FTP服务器方法之一
- 在VS2010平台上创建并使用dll
- j-ui dwz j-ajax 重复刷新问题。
- 吐槽
- 解决JSP参数传递乱码的问题
- 练好英语口语
- late_initcall和module_init