|
|
|
![]() |
|
Strumenti |
![]() |
#21 |
Senior Member
Iscritto dal: Nov 2002
Città: Morbegno (SO)
Messaggi: 1410
|
gcc -I /usr/include/gtk-1.2/ -I /usr/include/glib-1.2/ -I usr/lib/glib/include/ -lgtk -lgdk prova.c
con questa riga ho fatto miglioramenti, per lo meno compila da errori di linker non so che librerie linkare ancora,cmq e un passo avanti. cmq mi pare inpossibile che in qualche tutorial per gtk non diano un riga per compilare un programma in gtk :wq |
![]() |
![]() |
![]() |
#22 |
Bannato
Iscritto dal: Mar 2003
Messaggi: 105
|
mi da ancora molti errori, trova gtk.h e poi non trova piu nulla! a questo punto ricompilo!!!!
ma cosa? che casino!!! sembra che i programmi nei loro configure esportino qualche variabile ignota che faccia andare tutto! |
![]() |
![]() |
![]() |
#23 |
Senior Member
Iscritto dal: Nov 2002
Città: Morbegno (SO)
Messaggi: 1410
|
mumble
i programmi non esportano variabili al di fuori del proprio ciclo di vita ed e cmq impossibile accedere a aree dati di un altro processo,a meno che sia un ...boh,non ricordo piu il nome,un area file mappato in memoria, tramite ma mmap mi pare ma nn ci gioco le palle. al max ritornano valori o settano variabili ambiente(mumble, dovrebbe essere la chiamata setenv). ma si impalla in compilazione o al linker? a me da sto msg con il cmd detto sopra: [mason@master mason]$ gcc -I /usr/include/gtk-1.2/ -I /usr/include/glib-1.2/ -I /usr/lib/glib/include/ -lgtk -lgdk prova.c /tmp/cc9rAMl0.o: In function `main': /tmp/cc9rAMl0.o(.text+0x82): undefined reference to `G_CALLBACK' /tmp/cc9rAMl0.o(.text+0x93): undefined reference to `G_OBJECT' /tmp/cc9rAMl0.o(.text+0x9c): undefined reference to `g_signal_connect' /tmp/cc9rAMl0.o(.text+0xae): undefined reference to `G_CALLBACK' /tmp/cc9rAMl0.o(.text+0xbf): undefined reference to `G_OBJECT' /tmp/cc9rAMl0.o(.text+0xc8): undefined reference to `g_signal_connect' /tmp/cc9rAMl0.o(.text+0x115): undefined reference to `G_CALLBACK' /tmp/cc9rAMl0.o(.text+0x126): undefined reference to `G_OBJECT' /tmp/cc9rAMl0.o(.text+0x12f): undefined reference to `g_signal_connect' /tmp/cc9rAMl0.o(.text+0x13d): undefined reference to `G_OBJECT' /tmp/cc9rAMl0.o(.text+0x14e): undefined reference to `G_CALLBACK' /tmp/cc9rAMl0.o(.text+0x15f): undefined reference to `G_OBJECT' /tmp/cc9rAMl0.o(.text+0x168): undefined reference to `g_signal_connect_swapped' collect2: ld returned 1 exit status tieni conto che per arrivare a qusto ho proceduto cosi: gcc prova.c nelle prime linee msg errori mi dice manca gtk.h locate gtk.h lo aggiungo con l'opzione -I(i maiuscola) al gcc procedo cosi fin quando trova tutti gli header(mi pare strano non li includa lui di default). poi una volta che da errori di linker(tipo quello sopra) dichiaro di usare determinate librerie con l'opzione -l (elle minuscola). tieni conto che gli include dipendono da sistema a sistema e sii sicuro di avere almeno i file gtk.h glib.h glibconfig.h (usa il locate per verificare o il find). tutti gli oggetti sopra definiti di cui il linker nn trova il valore nn so proprio dove li hai presi |
![]() |
![]() |
![]() |
#24 |
Senior Member
Iscritto dal: Nov 2002
Città: Morbegno (SO)
Messaggi: 1410
|
k trovato nei doc di gtk:
cc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello o anche col gcc gcc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello per capire prova da soli i cmd: pkg-config --cflags gtk+-2.0 pkg-config --libs gtk+-2.0 |
![]() |
![]() |
![]() |
#25 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
gcc -Wall -g 'gtk-config --cflags --libs' -o main main.c Questo se usi le GTK+ 1.2.x Se usi le 2.x al posto di gtk-config devi usare pkg-config con la stessa sintassi. Ricorda che pkg-config o gtk-config devono essere racchiusi fra apici rovesciati. |
|
![]() |
![]() |
![]() |
#26 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
La versione 3.3.1 del compilatore GNU (a me è successo con RedHat 9.0) non sistema bene i suoi header dopo l'installazione. Dovresti creare dei link simbolici per fargli vedere dalle locazioni standard in cui cerca quei benedetti header. Io ho risolto con questo problema, ma bada che il kernel con la versione 3.3.x non compila. |
|
![]() |
![]() |
![]() |
#27 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao ![]() |
|
![]() |
![]() |
![]() |
#28 | |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Codice:
Linux version 2.4.21-ac4 (root@caspar) (gcc version 3.3.1 20030626 (Debian prerelease)) #3 mer lug 2 20:33:50 CEST 2003 ![]() |
|
![]() |
![]() |
![]() |
#29 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#30 | |
Bannato
Iscritto dal: Mar 2003
Messaggi: 105
|
Quote:
|
|
![]() |
![]() |
![]() |
#31 |
Bannato
Iscritto dal: Mar 2003
Messaggi: 105
|
Come si fa a compilare i file header ? tipo quello dell'esempio gtkdial http://www.gtk.org/tutorial/sec-gtkdial.html ????
mi dice gcc: compilation of header file requested ![]() |
![]() |
![]() |
![]() |
#32 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
![]() Compila con in aggiunta il parametro -D__GTK_DIAL_H__ |
|
![]() |
![]() |
![]() |
#33 | |
Bannato
Iscritto dal: Mar 2003
Messaggi: 105
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
#34 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
Comunque prova questo comando per compilare il tutto (assumendo che hai i tre files nella dir dove compili): gcc 'pkg-config --cflags --libs gtk+-2.0' -o dial_test gtkdial.c dial_test.c Comunque usare subito programmi GTK+ non è il massimo della vita per imparare il C. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:49.