免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9272 | 回复: 11

请教GTK安装的问题,急啊! [复制链接]

论坛徽章:
0
发表于 2008-07-19 11:28 |显示全部楼层
我查看了我的GTK版本如下:
[root@localhost root]# rpm -qi gtk2
Name        : gtk2                         Relocations: (not relocateable)
Version     : 2.2.1                             Vendor: Red Hat, Inc.
Release     : 4                             Build Date: 2003年02月25日 星期二 21时43分44秒
Install Date: 2008年07月02日 星期三 08时34分03秒      Build Host: sylvester.devel.redhat.com
Group       : 系统环境/库                   Source RPM: gtk2-2.2.1-4.src.rpm
Size        : 7292190                          License: LGPL
Signature   : DSA/SHA1, 2003年02月25日 星期二 23时05分37秒, Key ID 219180cddb42a60e
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.gtk.org
Summary     : GIMP 工具包 (GTK+),用于为 X 创建 GUI 的库。
Description :
gtk+ 软件包包括 GIMP 工具包 (GTK+),一个为 X 窗口
系统创建图形化用户界面的库。GTK+ 最初是为 GIMP
(GNU 图像操纵程序)图像处理程序而编写,但是
现在它还被其它几个程序所用。

为什么我用这个命令就找不到呢?
[root@localhost root]# pkg-config --modversion gtk+-2.0
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found

论坛徽章:
0
发表于 2008-07-21 10:39 |显示全部楼层
你安装的是gtk的基本包,如果做GTK开发,还需要安装开发包,
不知道你是什么系统,试试看安装gtk2-dev或者其他类似名字的包

论坛徽章:
0
发表于 2008-07-21 11:44 |显示全部楼层
我的系统是RedHat9,我又安装了下面2个包还是不行:
glib2-devel-2.4.7-1.i386.rpm
glib-devel-1.2.10-15.i386.rpm
关键是这个gtk+-2.0.pc文件不知道怎么生成的?没找到

论坛徽章:
0
发表于 2008-07-21 11:46 |显示全部楼层
还有这两个glib和glib2是有什么区别?
[root@localhost ~]# rpm -qi glib
Name        : glib                         Relocations: (not relocatable)
Version     : 1.2.10                            Vendor: Red Hat, Inc.
Release     : 15                            Build Date: Mon 09 Aug 2004 04:34:10 AM EDT
Install Date: Thu 19 Jun 2008 01:47:07 PM EDT      Build Host: porky.build.redhat.com
Group       : System Environment/Libraries   Source RPM: glib-1.2.10-15.src.rpm
Size        : 328381                           License: LGPL
Signature   : DSA/SHA1, Wed 05 Jan 2005 04:28:05 PM EST, Key ID 219180cddb42a60ePackager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.gtk.org
Summary     : A library of functions used by GDK, GTK+, and many applications.
Description :
GLib is a library of utility functions designed to solve some
portability problems and provide other useful functionality which most
programs require.

[root@localhost ~]# rpm -qi glib2
Name        : glib2                        Relocations: (not relocatable)
Version     : 2.4.7                             Vendor: Red Hat, Inc.
Release     : 1                             Build Date: Wed 13 Oct 2004 09:36:13 AM EDT
Install Date: Thu 19 Jun 2008 01:45:38 PM EDT      Build Host: tweety.build.redhat.com
Group       : System Environment/Libraries   Source RPM: glib2-2.4.7-1.src.rpm
Size        : 1718900                          License: LGPL
Signature   : DSA/SHA1, Wed 05 Jan 2005 04:48:26 PM EST, Key ID 219180cddb42a60ePackager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.gtk.org
Summary     : A library of useful utility functions.
Description :
GLib is a handy library of utility functions. This C library is
designed to solve some portability problems and provide other useful
functionality which most programs require.

论坛徽章:
0
发表于 2008-07-21 13:58 |显示全部楼层
原帖由 light511 于 2008-7-21 11:44 发表
我的系统是RedHat9,我又安装了下面2个包还是不行:
glib2-devel-2.4.7-1.i386.rpm
glib-devel-1.2.10-15.i386.rpm
关键是这个gtk+-2.0.pc文件不知道怎么生成的?没找到




你安装的是glib的devel包,当然找不到gtk+-2.0.pc了,你要安装gtk2的devel包才可以啊,
gtk2的devel包会依赖很多包,你安装的这两个也是不需要的,
你再找一下名字包含gtk2和devel两个单词的包,然后安装。

另外,建议你装个新的linux系统,RH9实在是太老了。

论坛徽章:
0
发表于 2008-07-21 14:13 |显示全部楼层
多谢阿,我安装了gtk2-devel-2.4.13-19.i386.rpm好了
[root@localhost pkgconfig]#  pkg-config --modversion gtk+-2.0
2.4.13
不过有个新问题,我编译GTK教程上第一个例子程序时,报错好像还是gtk的问题,奇怪啊
[root@localhost src]# gcc -o base base.c 'pkg-config --cflags --libs gtk+-2.0'
gcc: pkg-config --cflags --libs gtk+-2.0: No such file or directory
base.c:1:21: gtk/gtk.h: No such file or directory
base.c: In function `main':
base.c:4: error: `GtkWidget' undeclared (first use in this function)
base.c:4: error: (Each undeclared identifier is reported only once
base.c:4: error: for each function it appears in.)
base.c:4: error: `window' undeclared (first use in this function)
base.c:6: error: `GTK_WINDOW_TOPLEVEL' undeclared (first use in this function)
base.c:9: error: `FALSE' undeclared (first use in this function)

论坛徽章:
0
发表于 2008-07-21 14:18 |显示全部楼层
找到问题了,是那个'pkg-config --cflags --libs gtk+-2.0'不是单引号,搞定!真不容易。
真得很感谢“融化的冰山”  ,你是不是会GTK开发

论坛徽章:
0
发表于 2008-07-21 14:19 |显示全部楼层
我想找个人指导我下呢?我的QQ:458320063

论坛徽章:
0
发表于 2008-07-21 15:16 |显示全部楼层
我编译了GTK教程上的一个程序:
#include <gtk/gtk.h>
int main(int argc, char* argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_signal_connect(GTK_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
gtk_widget_show(window);
gtk_main();
return FALSE;
}
怎么会找不到g_signal_connect和G_CALLBACK函数呢?
[root@localhost src]# gcc -o base1 base1.c `pkg-config --cflags --libs gtk+`
/tmp/cciW1k1l.o(.text+0x4a): In function `main':
: undefined reference to `G_CALLBACK'
/tmp/cciW1k1l.o(.text+0x93): In function `main':
: undefined reference to `g_signal_connect'
collect2: ld returned 1 exit status

论坛徽章:
0
发表于 2008-11-17 15:05 |显示全部楼层
GTK的信号处理使用的另外一个库,一时记不起了,现在没有Linux的计算机,你找一下吧!
我也觉得你的Linux太老了,换个Fedora 9吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP