论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

GTK+ FAQ

文章类别:C语言程序设计 | 发表日期:2008-9-24 14:37:48

2. 如何寻找, 设定, 安装, 及错误处理?
2.1 要执行GTK+需要什麽?
要编译GTK+, 您只需要C编译器(gcc)及X Window System及相关函数库即可.


2.2 要到那里取得GTK+?
正式的位置:

ftp://ftp.gtk.org/pub/gtk

当然了, 任何ftp.gtk.org映射站都会有最後版本.

2.3 我要如何编译设定GTK+?
一般来说, 您只需要打入以下命令:

./configure
make

在gtk+-version/目录下.

2.4 当编译GTK+时, 我挨了这麽一记: make: file `Makefile' line 456: Syntax error
请确定您正在使用GNU make (用make -v来确认). 有很多希奇但不错的版本的make, 但不是全部都能处理好自动产生的Makefiles.



2.5 我已经编译好并安装好GTK+, 但我不能令任何程式来链结它!
这个问题遇得很多, 当GTK+函数库找不到或是错误的版本. 一般, 编译器会抱怨'unresolved symbol'. 您得要检查两件事:

确认函数库找得到. 您会需要去编辑 /etc/ld.so.conf把GTK函数库目录包含进去, 看起来像这样:
/usr/X11R6/lib
/usr/local/lib

然後要在root下执行 /sbin/ldconfig. 您可以用
gtk-config --libs

来找出GTK正在用的目录. 假如您的系统并不使用ld.so来找函数库(像Solaris就是), 那麽您需要使用LD_LIBRARY_PATH环境变数来设定参数 (或编译该路径到您的程式, 这里我就不讲了. 若您用Bourne式的shell您可以用(假设您的GTK是在/usr/local/lib):
export LD_LIBRARY_PATH=/usr/local/lib

而在csh, 您可以:
setenv LD_LIBRARY_PATH /usr/local/lib

确定您的linker可以找到正确的函数库. 假如您的Linux版本已经安装GTK+(例如, RedHat 5.0), 那麽可能是用旧一点的版本. 现在, 输入以下命令:
rpm -e gtk gtk-devel

您可能会想要移除这些gtk相关程式: (rpm会告诉您那些是相关的). 假如您没有RedHat Linux系统, 查看看可能在
/usr/lib


/usr/local/lib

包含许多函数库像libgtk, libgdk, libglib, or libgck. 假如有, 将它们移除 (and any gtk include files, such as /usr/include/gtk and /usr/include/gdk) 并重新安装gtk+.

2.6 当编译GTK+程式时, 我中了这麽一记, 找不到"glibconfig.h".
标头档"glibconfig.h"被从$exec_prefix/lib/glib/include/移除掉了. $exec_prefix是当您configure时指定给--exec-prefix的设定. 它内定为$prefix, (specified with --prefix), 然後会变成/usr/local/.

这是因为"glibconfig.h"包含了架构独立的设定资讯, 而其它的档案都放在$prefix/include, 这样可以使不同架构平台共用.

GTK+包含了一个shell s cript, gtk-config, 可以用来找出正确的include路径. GTK+入门导引有一些范例使用gtk-config. 更复杂的设定可以参考在GTK+内的docs/gtk-config.txt.

假如您正试著要编译一个老程式, 您可以用这样的设定:


CPPFLAGS="-I/usr/local/include/glib/include" ./configure

Bourne-compatible shells像bash, 或csh variants可用:


setenv CPPFLAGS "-I/usr/local/include/glib/include"
./configure

(替换/usr/local为适当的$exec_prefix)


2.7 安装GIMP时, configure说它找不到GTK.
有好几个可能的理由:

您可能有个老一点的版本的GTK安装在那里. 例如RedHat 5.0 安装了老一点版本的GTK, GIMP没办法用. 您应该把旧的版本移除掉, 但小心这样会把 control-panel的软体搞乱.

gtk-config 不在您的路径中, 或有个比较老的版本在您系统中. 输入:
gtk-config --version

来检查. 假如它返回一个跟您所想得不一样的版本, 那麽您有个旧版GTK在系统上.

./configure s cript找不到GTK函数库. 因为./configure编译很多种测试程式, 它需要能够找出GTK函数库. 看看上面来解决这个问题.
假如都不是以上所述, 那麽找看看config.log, 这是由./configure所产生的. 在最下面是错误发生的地方.
上一篇:{技巧}嵌入式C编程技术 人气:5897
下一篇:{技巧}虚拟文件系统 人气:6382
视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058