【求助】libglade的一个问题
运行时为什么总是这个错误1 ^2 ]" g& _" _
libglade-WARNING **: could not find signal handler 'on_button1_clicked'. 按钮并不响应此回调函数2 z" o# q% E8 y9 r* y; X* V; z( e
8 x: f6 [, ^4 p 程序很简单- k- ?$ Q$ p2 S0 o; l
主程序test.c/ M8 a1 C7 ?; u( X/ i+ L
#include <gtk/gtk.h> B% `" c" i5 a" Z0 D
#include <glade/glade.h>( n5 \; m" b$ ~! R- L
`& a3 v' G/ z! z9 ] void on_button1_clicked(GtkWidget *widget, gpointer data)
; y* v+ L: B+ F. U1 O {4 C8 b! w$ f+ I- {2 @+ M+ `) u
gtk_main_quit();' I2 U0 g2 \) G! Q2 z/ ]5 }
}
, q, \$ e5 C/ T
& W& i7 I) c: ~5 R int main(int argc, char *argv[])$ k# x2 Y6 J5 R9 N4 B) u' g1 }
{
0 c+ _( ~" h; m( _8 P( i ]8 j6 R GladeXML *xml;! B3 H/ Z+ t- z4 o& m2 H
+ r7 i/ U9 v8 m, q) i
gtk_init(&argc, &argv);
7 L/ [, T$ b# k; p9 T; q) i' A 5 b5 f, U7 B' E6 k4 S
xml = glade_xml_new("test.glade", NULL, NULL);/ s: b. i* ]$ }; b
glade_xml_signal_autoconnect(xml);( p6 X4 x0 Z1 n6 m0 p u Q
! _4 s9 y$ I. \2 \
gtk_main();/ M A9 {5 ?- I& Z4 |5 I
return FALSE;
7 Y9 e9 U0 O' m7 y9 r! V& Y* x }
) d+ ?; n( T( J9 U& s% c
$ p! r5 }2 x5 h test.glade文件
/ R1 E) |* |$ M7 P <?xml version="1.0" encoding="UTF-8" standalone="no"?>
' O) v ]% g7 W! U4 m8 ^5 E1 d" W. T <!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
+ X% x' u1 m3 ^ <!--Generated with glade3 3.0.2 on Sun Nov 26 13:51:06 2006 by wly@rainfine-->
& p" F. x* y8 G4 m) S <glade-interface>2 i' r* V0 ^" P; c- b# W1 j
<widget class="GtkWindow" id="window1">
# I; ^) [7 t9 z X$ ?3 a <property name="visible">True</property>
+ I: }9 v5 G- A <signal name="destroy" handler="gtk_main_quit"/>
a: f3 s! R8 d <child>% q8 ?' U8 w/ I. X7 V# _! F0 U
<widget class="GtkHBox" id="hbox1">
' \- C' V" A( L7 ~6 a% s: A, x* Y <property name="visible">True</property>9 e. |( v4 O2 v7 M8 A; M# i0 e
<child>
- |: c2 C: D" J# e) Y0 Y <widget class="GtkButton" id="button1">
/ I1 m. j+ C' Z9 _% V' C2 J <property name="visible">True</property>1 x. {# H! X/ w/ C R
<property name="label" translatable="yes">gtk-quit</property> F8 M8 P" v' z4 V" e
<property name="use_stock">True</property>
! q! I8 U% s& }7 J$ [% j <signal name="clicked" handler="on_button1_clicked"/>6 _5 |" |, u8 K# a Q7 h
</widget>* _; Q; R7 D) p D
</child>! [/ c( P/ X E% U
<child>' S, \9 P- u" w( G5 g
<widget class="GtkButton" id="button2">
8 v/ S. @" w" V <property name="visible">True</property>
# b/ S7 c7 E. v7 M) I2 R8 a# I <property name="label" translatable="yes">gtk-close</property>0 {% f2 |% L( R" r+ E
<property name="use_stock">True</property>% \; `9 ]' T o* W4 Z
<signal name="clicked" handler="gtk_main_quit"/>
; r8 }. `2 g9 o. o! i% N/ K </widget>
4 | A6 L" W6 w/ Y# q' s <packing>$ O9 ?- t' Y7 v; f9 \
<property name="position">1</property>5 R/ }0 y* Q5 {' M$ p( N
</packing> R; e* _; V" v1 a
</child>) L8 \8 @4 n; M% T, r7 u
</widget>& y& M8 r5 @4 j- Y- R! D5 Z( ~, r4 U
</child>$ R d! c7 Q. i* [' i# A
</widget>
! u0 g$ r2 ?; G( j# |6 s6 g </glade-interface>
$ z4 k$ A% C$ _6 i, S; U* o * Z* J4 s T1 B! a& D% g N& `2 `! {
编译语句$ ^7 d* B% x9 ?
gcc test.c -o test `pkg-config --cflags --libs libglade-2.0`
! s' {0 \ l d6 @2 B; b$ K( j # N% D# v3 U% A, p2 u
各位大侠请指教!