Strumenti Utente

Strumenti Sito


programmazione:d:gtkd:hello_world

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
programmazione:d:gtkd:hello_world [03/07/2025 14:06] – Fabio Di Matteoprogrammazione:d:gtkd:hello_world [02/09/2025 23:03] (versione attuale) – Fabio Di Matteo
Linea 2: Linea 2:
  
 Autore: **//Fabio Di Matteo//** \\ Ultima revisione:  **//  03/07/2025 12:56   //**  // // Autore: **//Fabio Di Matteo//** \\ Ultima revisione:  **//  03/07/2025 12:56   //**  // //
 +
 +<note important>Funziona ancora , ma io userei [[programmazione:d:gid:hello_world|Hello world in gtk4 e linguaggio D usando Gid]]</note>
  
 Un hello world che mostra le basi di una finestra GTK-D . \\ Un hello world che mostra le basi di una finestra GTK-D . \\
Linea 8: Linea 10:
 [[https://github.com/gtkd-developers/GtkD/tree/master|repository ufficiale GtkD]] . In più dato che ho usato dub package manager ho trovato utile dare una sbirciata direttamente al codice sorgente di GTK-D . I file si trovano qui: [[https://github.com/gtkd-developers/GtkD/tree/master|repository ufficiale GtkD]] . In più dato che ho usato dub package manager ho trovato utile dare una sbirciata direttamente al codice sorgente di GTK-D . I file si trovano qui:
 <file>ls $HOME/.dub/packages/gtk-d/3.11.0/gtk-d/generated/gtkd/gtk</file> <file>ls $HOME/.dub/packages/gtk-d/3.11.0/gtk-d/generated/gtkd/gtk</file>
 +Altra risorsa utile: [[https://code.dlang.org/packages/gid-gtk4-examples|gid-gtk4-examples]]
  
 ===== Una semplice finestra con un bottone ===== ===== Una semplice finestra con un bottone =====
Linea 186: Linea 188:
 </code> </code>
  
 +===== Un meson.build =====
 +
 +Uso il compilatore ldc e lib[g]phobos da gdc.
 +
 +<code python>
 +project('simple', 'd',
 +  version : '0.1',
 +  default_options : ['buildtype=debugoptimized']
 +)
 +
 +gtk_pkg = 'gtk+-3.0'
 +gtkd_pkg = 'gtkd-3'
 +
 +gtk = dependency(gtk_pkg, method: 'pkg-config')
 +gtkd = dependency(gtkd_pkg, method: 'pkg-config')
 +
 +# se gtkd non è trovato, prova a usare i flags manuali (opzionale)
 +if not gtkd.found()
 +  error('gtkD pkg-config dependency "' + gtkd_pkg + '" non trovata. Assicurati che gtkd sia installato e pkg-config veda gtkD-3.0.')
 +endif
 +
 +# sorgenti
 +sources = files('main.d')
 +
 +# target eseguibile
 +executable('simple',
 +  sources,
 +  dependencies: [gtkd, gtk],
 +  install: true,
 +  link_args: ['-Wl,-Bstatic', '-lgphobos', '-Wl,-Bdynamic']
 +  #d_module_version: '0.1'
 +)
 +
 +</code>
programmazione/d/gtkd/hello_world.1751544405.txt.gz · Ultima modifica: 03/07/2025 14:06 da Fabio Di Matteo