LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 715|回复: 6

gtk+2.0编程的错误

[复制链接]
发表于 2005-4-20 16:38:29 | 显示全部楼层 |阅读模式
照教程写了下面的程序base.c
#include <gtk/gtk.h>
int main(int argc, char *argv[])
{
GtkWidget *window;
        gtk_init (&argc,&argv);
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_widget_show (window);
        gtk_main();
  return 0;
}
而且在同一个目录下写了makefile文件
CC = gcc
all:
        $(cc) base.c -o base `pkg-config gtk+-2.0 --cflags --libs`

但在终端下运行make,却发现以下错误
$ make
base.c -o base `pkg-config gtk+-2.0 --cflags --libs`
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
/bin/sh: line 1: base.c: command not found
make: *** [all] Error 127
究竟是什么问题呢?
PKG_CONFIG_PATH environment variable这个环境变量是怎么回事呢?
希望能有人给我一个回复!谢谢
发表于 2005-4-20 17:52:51 | 显示全部楼层
可能是没有安装gtk2-devel包,检查rpm -q gtk2-devel
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-20 20:40:24 | 显示全部楼层
Post by doubleelec
可能是没有安装gtk2-devel包,检查rpm -q gtk2-devel


# rpm -q gtk2-devel
gtk2-devel-2.2.4-5.1
回复 支持 反对

使用道具 举报

发表于 2005-4-20 23:50:08 | 显示全部楼层
`pkg-config gtk+-2.0 --cflags --libs` 改为 `pkg-config --cflags --libs gtk+-2.0`
试试。。 不过我不再linux下,我猜的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-21 09:23:49 | 显示全部楼层
Post by Linux_Lyb
`pkg-config gtk+-2.0 --cflags --libs` 改为 `pkg-config --cflags --libs gtk+-2.0`
试试。。 不过我不再linux下,我猜的


我试过了,不行
它的错误信息是
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
回复 支持 反对

使用道具 举报

发表于 2005-4-21 10:28:26 | 显示全部楼层
echo $PKG_CONFIG_PATH 结果可能是
/usr/lib/pkgconfig (如果不是,看看路径是什么,是否需要重新设一下)
然后
cd /usr/lib/pkgconfig
ls
看一下有没有gtk+-2.0.pc这个文件,或者貌似这个文件。
如果没有,
rpm -q gtk2-devel --filesbypkg | grep "\.pc"
看看这个文件叫什么名字,被装到哪里了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-22 16:14:27 | 显示全部楼层
Post by doubleelec
echo $PKG_CONFIG_PATH 结果可能是
/usr/lib/pkgconfig (如果不是,看看路径是什么,是否需要重新设一下)
然后
cd /usr/lib/pkgconfig
ls
看一下有没有gtk+-2.0.pc这个文件,或者貌似这个文件。
如果没有,
rpm -q gtk2-devel --filesbypkg | grep "\.pc"
看看这个文件叫什么名字,被装到哪里了


我看过我的gtk+-2.0.pc的内容如下:
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include
target=x11
                                                                                
gtk_binary_version=2.2.0
gtk_host=i386-redhat-linux-gnu
                                                                                
Name: GTK+
Description: GIMP Tool Kit (${target} target)
Version: 2.2.4
Requires: gdk-${target}-2.0 atk
Libs: -L${libdir} -lgtk-${target}-2.0
Cflags: -I${includedir}/gtk-2.0

我用下面命令查看了gtk+-2.0.pc安装的位置
$ rpm -q gtk2-devel --filesbypkg | grep '\.pc'
gtk2-devel                /usr/lib/pkgconfig/gdk-2.0.pc
gtk2-devel                /usr/lib/pkgconfig/gdk-pixbuf-2.0.pc
gtk2-devel                /usr/lib/pkgconfig/gdk-pixbuf-xlib-2.0.pc
gtk2-devel                /usr/lib/pkgconfig/gdk-x11-2.0.pc
gtk2-devel                /usr/lib/pkgconfig/gtk+-2.0.pc
gtk2-devel                /usr/lib/pkgconfig/gtk+-x11-2.0.pc
这样的信息是不是说gtk+-2.0.pc一经安装好了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表