GTK编程问题

swizard04 2009-06-06 09:26:47
编译出现下面的错误:
intro.c:21: 错误:与 ‘CloseRequest’ 类型冲突
intro.c:3: 错误:‘CloseRequest’ 的上一个声明在此
编译方式是:gcc -Wall -o intro intro.c `pkg-config gtk+-2.0 --libs --cflags`


#include <gtk/gtk.h>

gint CloseRequest( GtkWidget *theWindow, gpointer data );

gint main( gint argc, gchar *argv[] )
{
GtkWidget *window;
gtk_init( &argc, &argv );

window = gtk_window_new( GTK_WINDOW_TOPLEVEL );

gtk_signal_connect( GTK_OBJECT(window), "destroy",
GTK_SIGNAL_FUNC( CloseRequest ), NULL );
gtk_widget_show( window );
gtk_main();
return 0 ;
}

void CloseRequest( GtkWidget *theWindow, gpointer data )
{
gtk_main_quit();
}

...全文
23 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
meitolake 2009-06-06
  • 打赏
  • 举报
回复
因為函數CloseRequest先被聲明為gint,後又定義為void,所以提示類型衝突。
meitolake 2009-06-06
  • 打赏
  • 举报
回复
別人是在什麼環境下編譯通過的?gint實際相當於int。
swizard04 2009-06-06
  • 打赏
  • 举报
回复
根据你的建议,把void改为gint,编译成功了,但同样的源代码为什么别人就能编译通过呢?
还有将gint改为int好像也可以的,能解释一下吗,谢谢了!!

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧