glade3 per Windows

Gtk+ & Windows

Edit: aggiornato alla versione 3.4.5.
Per lavoro ho avuto la necessità di compilare glade3 per Windows. Siccome la cosa mi ha occupato quasi per intero l’ultima settimana, ho pensato di condividere con voi i miei risultati: glade3-3.4.5-bin-win32-1.zip (2,07 MB). Se volete sapere come ho fatto, continuate a leggere!

Strumenti di sviluppo

Per sviluppare con le Gtk+ sotto Windows, i tizi delle Gtk+ consigliano di utilizzare MinGW e MSYS, e così ho fatto anch’io, trovandomi della roba sotto a C:\MinGW e C:\msys\1.0. Unica accortezza: non installare la versione di make fornita da MinGW, perché quella che sta in MSYS è più completa. Io poi ho installato anche gdb, ma serve solo se si deve debuggare.

Successivamente occorre modificare a manina la variabile di ambiente PATH in modo tale che contenga C:\MinGW\bin e C:\msys\1.0\bin, o qualche altra cosa analoga in base a dove avete installato. Avviso per chi ha MS Visual Studio: inserite la voce di MSYS prima di quelle di Visual Studio, altrimenti, quando meno ve lo aspettate, vi parte il make della Microsoft!

Un’altra cosa che serve per compilare con successo glade3 è l’interprete Perl. ActiveState distribuisce un comodissimo installer .msi che fa tutto da solo.

Librerie Gtk+

Per poter compilare con le Gtk+ occorre installare le librerie sia in versione runtime che in versione developer. In realtà, per arrivare a compilare correttamente glade3, occorrono anche un certo numero di altre librerie di terze parti tutte (o quasi) reperibili sul sito ftp delle Gtk+.

Scoprire quali sono i pacchetti necessari, scaricarli ed installarli tutti è stata una vera pena! Per questo ho preparato due bundle che raccolgono tutte le librerie che servono, uno per la versione runtime e uno per la versione developer:

gtk+-2.12.9-runtime-bundle-win32.zip (10,97 MB)
gtk+-2.12.9-devel-bundle-win32.zip (12,46 MB)

Questo l’elenco delle librerie:

glib cairo pango atk gtk+ gettext-runtime libpng libtiff libjpeg zlib pkg-config libiconv gettext-tools freetype fontconfig libexpat dirent libxml libglade

Per rendere le cose semplici, esplodete entrambi i bundle direttamente nella cartella C:\MinGW.

Compilare glade

Gli ingredienti ci sono tutti. Per ottenere un fragrante eseguibile di glade3 per Windows, seguite la ricetta:

  1. scaricare gli ultimi sorgenti da http://ftp.gnome.org/pub/GNOME/sources/glade3/3.4/ (attualmente l’ultima versione è la 3.4.5);
  2. esplodere i sorgenti da qualche parte sotto C:\msys\1.0\home\<vostro_nome_utente>;
  3. aprire la shell di MSYS e spostarsi nella cartella che è stata appena creata;
  4. dare i comandi benedetti
    $ ./configure --prefix=C:/glade3 --enable-shared
    $ make
    $ make install
  5. scaricare l’ultima versione del tema di icone Hicolor da http://icon-theme.freedesktop.org/wiki/HicolorTheme (grazie a HervéJonkour per la preziosa informazione 🙂 );
  6. esplodere l’archivio da qualche parte;
  7. dalla shell di MSYS spostarsi nella cartella appena creata;
  8. dare i soliti, benedetti
    $ ./configure --prefix=C:/glade3
    $ make
    $ make install

    facendo attenzione di usare lo stesso parametro –prefix del punto 4;

  9. Fare doppio click sul file C:\glade3\bin\glade-3.exe e gioire.

Il pranzo è servito: buon appetito!

Advertisements

12 Pensieri su &Idquo;glade3 per Windows

  1. Io uso DEV-C++, glade 3 si compila bene in C e non in C++…
    ovviamente non so xchè
    comunque il tuo pranzo è veramente invitante…
    cucinato da un buon cuoco, peccato che non lo possa assaggiare

  2. Grazie dei complimenti… culinari!
    Dev-C++ non l’ho mai usato approfonditamente. Mi pare che, come tool chain, usi MinGW (quindi in linea con questa guida). Ad ogni modo glade3 è scritto in C, e non in C++, e compilandolo da Makefile è il compilatore C (gcc) che viene lanciato: non credo che compilandolo con il compilatore C++ otterresti alcun beneficio…

  3. ciao,
    io devo utilizzare Glade 3 per un progetto a scuola. Ho installato glade, creo un piccola interfaccia di test. ma poi ho un problema, glade 3 non crea i file .c da modificare e conpilare…come faccio per attribbuire dei conportamenti agli oggetti dell’interfaccia e poi creare un .exe per poterla usare??

  4. A partire dalla versione 3 glade non genera più il sorgente C, ma un file XML (con estensione .glade) che descrive l’interfaccia grafica che si è creato. Questi file XML vengono poi interpretati a runtime da una libreria che si chiama libglade. Il tuo eseguibile dovrà essere linkato con questa libreria.
    Se hai seguito questa guida dovresti averla già installata (fa parte del runtime bundle e del devel bundle).

    In questi link puoi trovare documentazione ed esempi:
    http://library.gnome.org/devel/libglade/2.6/index.html
    http://www.jamesh.id.au/software/libglade/

  5. ho seguito l’esempio di gnome che mi hai indicato, sono riuscita a compilare!
    ma se provo a eseguire il file .exe mi si apre solo una finestra di DOS vuota e niente interfaccia…
    cosa sbaglio?

  6. Ciao,

    uso glade per lavoro e ho notato che, in windows, nella finestra ‘Dialogo selettore file’ non viene visualizzata correttamente la data: ad esempio, salvando un file alle ore 18:15 di oggi, nella colonna ‘data di modifica’ compare: ‘Oggi alle .15’, dimenticandosi l’ora.
    Potresti aiutarmi a risolvere il problema?
    Ciao, Grazie!

  7. Hai ragione, non ci avevo mai fatto caso, e non conosco una soluzione.
    Tra l’altro, non credo che dipenda da Glade, ma piuttosto dalle librerie GTK+ (o almeno dalla versione che abbiamo installato). Infatti lo stesso inconveniente c’è anche nel dialogo di apertura file di altre applicazioni, ad esempio Gimp.
    Forse è il caso di segnalare la cosa agli sviluppatori.

  8. Interessato a Glade ho provato a scaricare il file zippato ma l’antivirus si è attivato dicendomi che è infetto da:
    Win32:Tibia-AF [Trj].
    E’ possibile?

    • Non credo sia possibile. Quei file li ho creati diversi mesi fa e sono stati scaricati da molte persone: nessuno si è mai accorto di nulla. Probabilmente è un falso positivo del tuo antivirus.
      Di quale antivirus si tratta?
      Qual’è il file dell’archivio che lo fa scattare?

      PS: Il mio antivirus appena aggiornato, si tratta di Avira AntiVir, non trova nulla.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...