当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [问题]配置GTK环境的错误!
帖子发表于 : 2008-05-11 3:13 
头像

注册: 2008-04-30 2:58
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
首先我以确定我照/*http://wiki.ubuntu.org.cn/Gtk与Qt编译环境安装与配置*/这个学习帖子配置的,
在这个过程中,终端也提示我安装成功,我也试过几次配置的命令,终端都提示我已经是最新的版本!
在我运行这个程序(就是这个帖子的示例):
#include<gtk/gtk.h>
void hello(GtkWidget *widget,gpointer data)
{
g_print("Hello Ubuntu!\n");
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
{
g_print ("delete event occurred\n");
return(TRUE);
}
void destroy(GtkWidget *widget,gpointer data)
{
gtk_main_quit();
}
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *button;
gtk_init (&argc, &argv);
window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label ("Hello Ubuntu!");
gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window); /*显示一个窗口*/
gtk_main(); /*进入主循环*/
return(0);
}

接下来我执行了:
$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
但是结果却是如下:

river@river-stefanie:~$ gcc gtkhello.c -o gtkhello 'pkg-config --cflags --libs gtk+-2.0'
gcc: pkg-config --cflags --libs gtk+-2.0:没有该文件或目录
gtkhello.c:1:20: 错误: gtk/gtk.h:没有该文件或目录
gtkhello.c:2: 错误: expected ‘)’ before ‘*’ token
gtkhello.c:6: 错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘delete_event’
gtkhello.c:11: 错误: expected ‘)’ before ‘*’ token
gtkhello.c: 在函数‘main’中:
gtkhello.c:17: 错误: ‘GtkWidget’未声明 (在此函数内第一次使用)
gtkhello.c:17: 错误: (即使在一个函数内多次出现,每个未声明的标识符在其
gtkhello.c:17: 错误: 所在的函数内也只报告一次。)
gtkhello.c:17: 错误: ‘window’未声明 (在此函数内第一次使用)
gtkhello.c:18: 错误: ‘button’未声明 (在此函数内第一次使用)
gtkhello.c:20: 错误: ‘GTK_WINDOW_TOPLEVEL’未声明 (在此函数内第一次使用)
gtkhello.c:21: 错误: ‘delete_event’未声明 (在此函数内第一次使用)
gtkhello.c:21: 错误: ‘NULL’未声明 (在此函数内第一次使用)
gtkhello.c:22: 错误: ‘destroy’未声明 (在此函数内第一次使用)
gtkhello.c:25: 错误: ‘hello’未声明 (在此函数内第一次使用)
gtkhello.c:26: 错误: ‘gtk_widget_destroy’未声明 (在此函数内第一次使用)


我实在找不错原因在那?救助大家!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-05-11 8:37 
头像

注册: 2007-02-18 19:33
帖子: 2180
地址: lyric.im
系统: OSX
送出感谢: 0 次
接收感谢: 1
`pkg-config --libs gtk+-2.0`


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-05-11 8:40 
头像

注册: 2007-02-18 19:33
帖子: 2180
地址: lyric.im
系统: OSX
送出感谢: 0 次
接收感谢: 1
是`不是'


页首
 用户资料  
 
4 楼 
 文章标题 : 结果还是一样
帖子发表于 : 2008-05-11 15:14 
头像

注册: 2008-04-30 2:58
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
`pkg-config --libs gtk+-2.0` 结果还是一样!


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-05-11 16:02 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
没安装dev包??


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 : 找到问题的原因了!
帖子发表于 : 2008-05-11 19:04 
头像

注册: 2008-04-30 2:58
帖子: 12
送出感谢: 0 次
接收感谢: 0 次
问题在于这条命令:gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`


其中的 `pkg-config --cflags --libs gtk+-2.0`因该是 `pkg-config --cflags --libs gtk+-2.0`

注意到了吗? ESC键下的` 和和Enter键左边的' 是不是很象,问题就在这里!

因该是ESC按键下的` !

在这里多谢 shely,他的细心才能让程序编译通过!


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-05-23 20:13 
头像

注册: 2007-02-18 19:33
帖子: 2180
地址: lyric.im
系统: OSX
送出感谢: 0 次
接收感谢: 1
shellex还是shely?


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-05-23 20:16 

注册: 2006-03-10 15:10
帖子: 3182
地址: xi'an China
送出感谢: 0 次
接收感谢: 2
shellex 写道:
shellex还是shely?
:em04


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译