LinuxSir.cn,穿越时空的Linuxsir!

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

GTK编程碰到的第一个问题:找不到库!

[复制链接]
发表于 2005-3-8 20:11:20 | 显示全部楼层 |阅读模式
刚按着书写的,在程序的首行写着
#include <gtk/gtk.h>
编译时,出现了找不到gtk这个库,程序里的所有function全都是没定义的了。
我的系统是gentoo 2004.3的,已默认安装了GTK+2.0了。
发表于 2005-3-8 20:42:39 | 显示全部楼层
gcc  filename.c  `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-8 22:37:47 | 显示全部楼层
#include</gtk/gtk.h>
int main (int argc , char* argv[])
{
GtkWidget * window;
          gtk_init(&argc,&argv);
          window = gtk_windows_new(GTK_WINDOW_TOPLEVEL);
          gtk_widget_show(window);
          gtk_main();
return FALSE;
}
错误提示如下:
gcc: pkg-config --cflags gtk+-2.0: No such file or directory
gcc: pkg-config --libs gtk+2.0: No such file or directory
base1.c:1:20: gtk/gtk.h: No such file or directory
base1.c: In function `main':
base1.c:4: error: `GtkWidget' undeclared (first use in this function)
base1.c:4: error: (Each undeclared identifier is reported only once
base1.c:4: error: for each function it appears in.)
base1.c:4: error: `window' undeclared (first use in this function)
base1.c:6: error: `GTK_WINDOW_TOPLEVEL' undeclared (first use in this function)
base1.c:9: error: `FALSE' undeclared (first use in this function)
回复 支持 反对

使用道具 举报

发表于 2005-3-9 08:17:43 | 显示全部楼层
`pkg-config --cflags gtk+-2.0`
注意两端是倒引号,数字 1 左边那个键。
回复 支持 反对

使用道具 举报

发表于 2005-3-9 11:50:08 | 显示全部楼层
hehe,就知道有人`用成了'
真是害死人啊,这是shell的语法
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-10 23:40:24 | 显示全部楼层
呵呵,可以了,谢谢了!!
不过不提醒的话还真的不知道原来是这里的毛病。
回复 支持 反对

使用道具 举报

发表于 2005-3-12 10:28:18 | 显示全部楼层
Post by popeyelin
hehe,就知道有人`用成了'
真是害死人啊,这是shell的语法

嗯,疏忽了
这样写就不会误解了
  1. gcc filename.c $(pkg-config --cflags gtk+-2.0) $(pkg-config --libs gtk+-2.0)
复制代码
  
回复 支持 反对

使用道具 举报

发表于 2005-3-12 11:47:48 | 显示全部楼层
解决是解决了,我想知道,为什么#include<gtk/gtk.h>不行呢?如果是#include<sys/type.h>就没有这种问题啊?究竟原因在哪里!shell中`代表什么意思?
回复 支持 反对

使用道具 举报

发表于 2005-3-12 11:58:48 | 显示全部楼层
Post by EvilSeed
解决是解决了,我想知道,为什么#include<gtk/gtk.h>不行呢?如果是#include<sys/type.h>就没有这种问题啊?究竟原因在哪里!shell中`代表什么意思?

你在终端下运行一下pkg-config --cflags gtk+-2.0和pkg-config --libs gtk+-2.0就知道了
回复 支持 反对

使用道具 举报

发表于 2005-3-12 12:08:20 | 显示全部楼层
运行了,还是不明白什么意思.用shell解释出来就是指定了很多库的地址.难道这些库没有在标准库里面?还有`在shell中什么意思?
回复 支持 反对

使用道具 举报

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

本版积分规则

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