PDA

View Full Version : [Dev C++] Installare GTK+


DarkDiablo
30-07-2007, 17:30
Come da oggetto, mi piacerebbe installare la libreria grafica gtk+. Mi sono trovato bene finora con il compilatore dev C++ e quindi mi stavo chiedendo se c'è un modo per "integrare" le due cose.

Ho installato GTK+ e un package (per mettere automaticamente le librerie al posto giusto), li ho presi da qui (http://gtk.alkia.org/). Non funzionava, durante la fase di compilazione mi dice "No such file or directory" e così ho estratto i vari file che mi chiedeva dalle sottocartalle e le ho messe in quella generale per le librerie (es: da C:\Programmi\Programmazione\Dev-Cpp\lib\Gtk_2.0 a C:\Programmi\Programmazione\Dev-Cpp\lib\).

Non mi dava più errori di inclusione, ma mi diceva "errore linked" qualcosa del genere :S. Visto che devo programmare ho reinstallato Dev C++ da capo, così intanto che mi rispondete posso fare qualcosa :oink:

Grazie per le eventuali risposte :)

DarkDiablo
30-07-2007, 22:50
Scusatemi se riposto in così breve tempo, volevo solo darvi dettagli utili per svelare l'arcano ;) .

Ho installato winGTK e credo di essere riuscito a settare il compilatore in modo che carichi quelle librerie.

In fase di compilazione ho circa 100 righe di errori (sono entrato nei guiness! :ciapet: ) di cui la maggior parte di questo tipo:

[Linker error] undefined reference to `_pei386_runtime_relocator'
[Linker error] undefined reference to `__w32_sharedptr_initialize'
[Linker error] undefined reference to `gtk_init_abi_check'

Come codice di prova ho usato questo (http://it.wikipedia.org/wiki/Hello_world#C_per_GTK.2B) che è in C.

Ah poi forse vi saranno utili anche queste righe:

31 C:\Programmi\Programmazione\wingtk\include\gdk\gdk.h:33, from C:\Programmi\Programmazione\wingtk\include\gtk\GTK.H In file included from C:/Programmi/Programmazione/wingtk/include/gdk/gdk.h:33, from C:/Programmi/Programmazione/wingtk/include/gtk/GTK.H

l'ultima è questa:

ld returned 1 exit status

Perdonatemi il post lungo, ma volevo darvi più dettagli possibili ;) , grazie anticipatamente a chi risponderà :)

cionci
31-07-2007, 08:24
Con Dev-C++ devi linkare le librerie adatte per gtk, che ora come ora non mi vengono in mente.

Ho trovato a giro queste librerie da aggiungere:

-lgtk-win32-2.0 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv

In pratica devi andare su project options e poi su Parameters ed aggiungere questo testo nella parte del linker.

DarkDiablo
31-07-2007, 09:52
Ho trovato a giro queste librerie da aggiungere:

-lgtk-win32-2.0 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv

In pratica devi andare su project options e poi su Parameters ed aggiungere questo testo nella parte del linker.
Grazie mille per la risposta, suppongo sia un problema un po' complesso da risolvere online :stordita: .
Le librerie che mi hai elencato devo scaricarle tutte? Se sì, poi cortesemente mi potresti dire dove devo andarle a mettere? (dentro le cartelle di wingtk, di dev c++ o in system?).
Ah, poi una cosa io per dire che in fase di compilazione doveva caricare le librerie, ho usato questo percorso: Tools --> Compiler Options --> Directories --> bin (e ci ho messo il bin di wingtk), poi libraries e ci ho messo wingtk/lib, poi C include e ci ho messo come directory wingtk/include.

A project options--> Parameters non mi ci fa cliccare è in "grigetto". Intanto che pensi sull'assurdità di questo problema, io mi prendo le librerie ;) (anche se qualcuna mi pare già di averla!). Grazie ancora per la risposta :)

cionci
31-07-2007, 10:48
Credo che dovrebbe avertele installate lui le librerie... Con il sistema di update di Dev-C++ credo che ti permetta di scaricarle tutte.

Il fatto che non sia selezionabile Prameters forse dipende dal fatto che non hai creato un progetto ?

DarkDiablo
31-07-2007, 11:00
Credo che dovrebbe avertele installate lui le librerie... Con il sistema di update di Dev-C++ credo che ti permetta di scaricarle tutte.

Il fatto che non sia selezionabile Prameters forse dipende dal fatto che non hai creato un progetto ?

ihihi hai ragione! Intanto che scrivevi ho letto che il progetto va anche salvato! :sofico:. Ho messo nel linker del compilatore un po' di tutto (no scherzo :P), nello specifico queste:

include\gtk-2.0
lib\gtk-2.0\include
include\atk-1.0
include\glib-2.0
include\pango-1.0
lib\glib-2.0
lib\glib-2.0\include

perchè intanto che navigavo sono incappato in questo topic (http://forum.html.it/forum/showthread/t-577610.html).

Apparentemente risolti i problemi delle librerie, mi dà questi errori:

[Linker error] undefined reference to `_pei386_runtime_relocator'
[Linker error] undefined reference to `__w32_sharedptr_initialize'
[Linker error] undefined reference to `_nm___fmode'
ld returned 1 exit status
C:\Programmi\Programmazione\Dev-Cpp\Makefile.win [Build Error] [Project1.exe] Error 1

Credo che mi converrà optare per le API din win :cry:

cionci
31-07-2007, 11:11
Quando hai scelto di creare un nuovo progetto, che tipo di progetto hai creato ? Credo che ti permetta di creare anche un progetto gtk...

DarkDiablo
31-07-2007, 11:20
Quando hai scelto di creare un nuovo progetto, che tipo di progetto hai creato ? Credo che ti permetta di creare anche un progetto gtk...
oddio hai ragione, io ne avevo aperto uno a caso non credevo facesse differenza :oink: . Io ogni caso gli errori che dà sono gli stessi. (in realtà ci sono anche 3-4 prima di quelle che ti ho postato in cui dice first defined here, e multiple definition of `main' ecc..ecc..).

Grazie che stai scapocciando per me :muro:

Un attimo aggiungo che ora, anche chiudendo il progetto, non riesco a compilare normali file c++ (quelli che una settimana fa ho compilato tranquillamente).

Ultima aggiunta, nel progetto GTK+, mi dà gli stessi errori che ho riportato prima anche se compilo un file vuoto!

DarkDiablo
31-07-2007, 15:33
piccolo dettaglio che forse potrà risultare utile. Ho provato ad usare il programma demo che danno a corredo dell'installazione di GTK runtime e ho provato qualche cosa e....FUNZIONA :oink: (per esempio mi è uscita fuori una finestra con tutte checkbox!) . Quindi suppongo il problema sia nella configurazione del compilatore.

Grazie ancora per l'aiuto.

cionci
31-07-2007, 15:35
Purtroppo non ti posso aiutare molto perché ora sono su linux, quindi non posso provare dev-C++.

DarkDiablo
02-08-2007, 10:50
Purtroppo non ti posso aiutare molto perché ora sono su linux, quindi non posso provare dev-C++.
Tranquillo solo quando hai tempo ;). Io instanto mi sto installando kubuntu così sarà più semplice con le gtk :ciapet:

cionci
02-08-2007, 11:18
Tranquillo solo quando hai tempo ;). Io instanto mi sto installando kubuntu così sarà più semplice con le gtk :ciapet:
Sarebbe più logico installare Ubuntu se vuoi lavorare con le gtk ;)
Kde è basato sulle QT, mentre Gnome sulle gtk...

DarkDiablo
02-08-2007, 12:27
Sarebbe più logico installare Ubuntu se vuoi lavorare con le gtk ;)
Kde è basato sulle QT, mentre Gnome sulle gtk...
non mi ammazzare ma gnome non mi piace :fagiano: . Io vorrei lavorare su una libreria grafica che sia disponibile sia per windows che per linux, quindi credo che le gtk siano le migliori o sbaglio? Ma c'è qualche problema ad usare le gtk su kubuntu?

p.s: siamo un filino ot :sofico:

cionci
02-08-2007, 13:36
Nono...nessun problema. Solo che rischi di portarti dietro mezzo gnome per installare i tool di sviluppo e quindi aumenta sensibilmente la ram occupata (20-30mb in più).

DarkDiablo
02-08-2007, 14:43
Nono...nessun problema. Solo che rischi di portarti dietro mezzo gnome per installare i tool di sviluppo e quindi aumenta sensibilmente la ram occupata (20-30mb in più).
:D ho capito grazie mille per l'info, al massimo provo le QT sennò seguirò il tuo consiglio ;)

xfudox
27-05-2009, 14:57
Scusate se mi intrometto nella discussione, ma recentemente anche io ho voluto cimentarmi nella grafica con c++.
Premetto che sono su windows.
Come darkdiablo anche io uso dev-c++, e ho puntato sulle gtk; avevo i suoi stessi problemi, e seguiendo la discussione fin'ora ho risolto un sacco di problemi, ma me ne si presenta un'altro: ho creato un nuovo progetto GTK, e provando a compilarlo senza editare niente, mi dà errore sull'inclusione della libreria gtk/gtk.h, dicendo che non esiste "such file or directory", ma controllando 'a mano' il file esiste, e si trova esattamente dove dovrebbe essere.

purtroppo non riesco a capire proprio cosa possa essere...

cionci
27-05-2009, 15:00
Premetto che attualmente la scelta migliore per C++ secondo me ora sono le QT 4.5 con l'ide QT Creator, anche per software commerciali (rilasciate in LGPL).

Riporta la linea di codice e fai uno screen delle include directory presenti nelle impostazioni di compilazione.