Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1545004
  • 博文数量: 416
  • 博客积分: 10061
  • 博客等级: 上将
  • 技术积分: 3287
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-05 11:12
个人简介

技术在于专研

文章分类

全部博文(416)

文章存档

2021年(3)

2015年(34)

2013年(2)

2012年(1)

2011年(2)

2010年(5)

2007年(344)

2006年(25)

分类: LINUX

2007-04-14 12:36:53

  1. 要编译GTK+, 我首先需要安装些什么?[GTK 2.x]

    GTK+是个很大的包,它依赖于很多其它的工具和库. 如果在你的系统中可能的话,推荐你安装已经编译好的包,如:rpm包或deb包.

    要从源码编译GTK+, 你的系统中需要有一个 C编译器(gcc), X Window系统以及其相关的开发库及开发包.

    你还需要GTK+所依赖的工具和库文件. 下面按照它们的安装次列出来:

    • pkg-config ("pkg-config 的网站":)
    • GNU make ("GNU make 的网站":)
    • JPEG, PNG 和 TIFF 图形库 ("GTK+ 的网站":ftp://ftp.gtk.org/pub/gtk/v2.2/)
    • FreeType ("FreeType 的网站":)
    • fontconfig ("fontconfig 的网站":)
    • GNU libiconv 库 (如果你的系统没有提供 iconv() 函数) ("GNU libiconv 的网站":)
    • GNU gettext (如果你的系统没有提供 gettext() 函数) ("GTK+ 的网站":ftp://ftp.gtk.org/pub/gtk/v2.2/)
    • GLib ("GTK+ 的网站":ftp://ftp.gtk.org/pub/gtk/v2.2/)
    • Pango ("GTK+ 的网站":ftp://ftp.gtk.org/pub/gtk/v2.2/)
    • ATK ("GTK+ 的网站":ftp://ftp.gtk.org/pub/gtk/v2.2/)
    • GTK+ ("GTK+ 的网站":ftp://ftp.gtk.org/pub/gtk/v2.2/)
  2. 那里可以得到GTK+?[GTK 2.x]

    正式的网站是: .

    这个网站在发布新版本的GTK+是,通常会十分繁忙, 你可以尝试从镜像列表中的一个网站来下载GTK+: .

    这里列出其中的一些镜像:

    • 非洲 - ftp://ftp.is.co.za/applications/gimp
    • 澳大利亚 - ftp://ftp.planetmirror.com/pub/gimp/gtk
    • 芬兰 - ftp://ftp.funet.fi/pub/sci/graphics/packages/gimp/gtk
    • 德国 - ftp://ftp.gwdg.de/pub/misc/grafik/gimp/gtk
    • 日本 - ftp://sunsite.sut.ac.jp/pub/archives/packages/gimp/gtk
    • 英国 -
  3. 如何配置/编译GTK+?[GTK 2.x]

    通常情况下,你只需要在GTK+的源码目录下面输入这几个命令就可以完成编译:

        ./configure
        make
        make install
    

    安装GTK+所依赖的包时, 也可以使用这样的方法和命令.

    你可以向 configure 脚本传递一些参数来改变默认的设置. 或许你最需要就是 '--prefix'参数, 它用来指定软件包最终被安装到什么位置, 如:

        ./configure --prefix=/usr/local/
    

  4. 编译的时候出现错误 如:"make: file Makefile line 456: Syntax erro"[GTK 2.x]

    确认你使用的是 GNU make(使用'make -v'来检查). 奇怪的是 make 有好几个不同的版本, 并且不是每一个版本都能自动的生成 Makefiles文件.

  5. 我编译和安装了GTK+,但是不能将程序和它连接[GTK 2.x]

    遇到这样的情况大多数情况下是因为无法找到GTK+库或者版本不致. 这时, 编译器什么报告"unresolved symbol(无法解析的描述符".

    确认库文件能被找到. 你可以编辑/etc/ld.so.conf ,在其中加入包含GTK+库的目录, 文件的内容类似如下:

       /usr/X11R6/lib
       /usr/local/lib
    

    然后你需要以root身分执行/sbin/ldconfig. 可以用下面的命令来查看GTK 需要的库:

       pkg-config gtk+-2.0 --libs
    

    如果你的系统不是使用 ld.so来查找库文件(如 Solaris), 你就必须使用LD_LIBRARY_PATH 环境变量(或者把路径编译到你的程序中,我在这里就不讲述这方面的内容了). 所以, 如果你使用Bourne风格的shell(如bash)你可以使用如下的命令(假设你的GTK库在/usr/local/lib中):

       export LD_LIBRARY_PATH=/usr/local/lib
    

    如果你使用的是csh, 你可以用下面的命令:

       setenv LD_LIBRARY_PATH /usr/local/lib
    

  6. 当我安装GTK+的程序时,configure报告不能找到GTK.[GTK 2.x]

    通常情况下有几种原因导致了这个结果:

    • 你可能在某个地方安装了一个旧的GTK. 你可以把它删除掉, 但是你需要注意的是,这样做之后, 你的那些使用旧版本的GTK编译的程序就不能运行了.
    • 在你的路径中找不到pkg-config(或者其它GTK的组件), 或者仅有一个旧的版本. 输入:

    pkg-config gtk+-2.0 --modversion

    来检查一下. 如果返回的不是你所期望的版本, 那么, 你的系统中确实是有一个旧的GTK.

    • ./configure 脚本找不到GTK库. 执行./configure 时, 它会编译一个测试程序, 所以它需要找到GTK库. 请参照上面的说明.

    如果上面所提到内容无法帮助你解决问题的话, 请查 config.log, 它是运行./configure 时生成的日志文件. 文件最后是运行出错时的部分, 如果是其内容是源码的话, 就把它复制到一个文件中, 然后用config.log中它上面的一行来编译它. 如果编译成功的话, 试试运行它.

阅读(1309) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~