2017-11-30 6 views
0

Ich benutze Lernen GTK + und Licht.Ich möchte ein Programm, in dem, wenn Benutzer Minus-Taste drückt die Label-Nummer abnimmt und wenn er/sie/es drückt dann drücken Label-Nummer sollte erhöhennicht in der Lage, Callback-Funktion von Lichtung in gtk3 c Programm

hier ist meine main.c Datei: -

#include <gtk/gtk.h> 

long a; 
char s[20]; 

void add(short u) 
{ 
    ++a; 
    sprintf(s,"%ld",a); 
} 

void minus(short u) 
{ 
    --a; 
    sprintf(s,"%ld",a); 
} 

int main (int arg , char *argv[]) 
{ 
    gtk_init(&arg,&argv); 

    GtkBuilder *builder = gtk_builder_new(); 
    gtk_builder_add_from_file(builder,"window1.glade",0); 

    GtkWidget *win,*num; 

    win = GTK_WIDGET(gtk_builder_get_object(builder,"window1")); 
    num = GTK_WIDGET(gtk_builder_get_object(builder,"label1")); 

    gtk_builder_connect_signals(builder,0); 
    gtk_label_set_text(GTK_LABEL(num),s); 

    gtk_widget_show_all(win); 

    gtk_main(); 
} 

Jedes Mal, wenn ich dieses Programm lief ich in termainal folgende erhalten: -

$
./a.out 

(a.out:3796): Gtk-WARNING **: Could not find signal handler 'minus'. Did you compile with -rdynamic? 

(a.out:3796): Gtk-WARNING **: Could not find signal handler 'add'. Did you compile with -rdynamic? 

enter image description here

enter image description here enter image description here

Als komplette Noob O haben keine Ahnung, was als nächstes

+0

Might zu tun Hilfe: https://stackoverflow.com/questions/27930691/unable-to-co Nnect-Signal-und-Signal-Handler-in-Glade-GTK3 –

Antwort

0

ich gerade kompiliert es mit -rdynamic Flagge und das Problem gelöst

gcc main.c `pkg-config --cflags --libs gtk+-3.0` -rdynamic 
+0

@Gerhardh Code funktioniert immer noch nicht, aber zumindest die Callback-Funktionen sind jetzt verbunden, die ich gefragt habe. –

+0

@Gerhardh es sagt 'Sie können Ihre eigene Antwort in 2 Tagen annehmen' –