Strumenti Utente

Strumenti Sito


programmazione:rust:gtk4_windows

Sviluppare applicazioni Gtk-rs su Windows

Autore: Fabio Di Matteo
Ultima revisione: 13/04/2026 13:40

Alcuni appunti su come sviluppare applicazioni con Gtk-rs(4 in questo caso) su windows.

Usando gli strumenti di sviluppo di Microsoft

Come prima cosa installiamo :

  1. scarichiamo un bundle binario , compilato con msvc da questo indirizzo: Gvsbuild

Estraiamo in c:\gtk il contenuto del bundle. Le cartelle bin,lib etc devono stare subito sotto c:\gtk. E' già così ma stiamoci attenti. Ora dobbiamo impostare i comandi e le librerie in path per gtk. Apriamo una finestra powershell e digitiamo i seguenti comandi:

$env:Path = "C:\gtk\bin;" + $env:Path
$env:LIB = "C:\gtk\lib;" + $env:LIB
$env:INCLUDE = "C:\gtk\include;C:\gtk\include\cairo;C:\gtk\include\glib-2.0;C:\gtk\include\gobject-introspection-1.0;C:\gtk\lib\glib-2.0\include;" + $env:INCLUDE
Queste variabili sono impostate al volo per la console corrente. Una volta chiusa la shell di perdono.

Adesso proviamo a compilare un piccolo hello world:

use gtk::prelude::*;
use gtk::{Application, ApplicationWindow, glib};
use gtk4 as gtk;
 
fn main() -> glib::ExitCode {
    let app = Application::builder()
        .application_id("org.example.HelloWorld")
        .build();
 
    app.connect_activate(|app| {
        // We create the main window.
        let window = ApplicationWindow::builder()
            .application(app)
            .default_width(320)
            .default_height(200)
            .title("Hello, World!")
            .build();
 
        // Show the window.
        window.present();
    });
 
    app.run()
}

Aggiungiamo le dipendenze per gtk-rs con il seguente comando:

cargo add gtk4 --rename gtk --features v4_12

Compiliamo il programma da powershell con:

cargo run

Evitare che sia apra la finestra della console quando lanciamo il nostro eseguibile

Basta aggiungere in cima al nostro main.rs la seguente macro:

#![windows_subsystem = "windows"] 

Distribuire il programma

Ho messo l'eseguibile in una carlella con tutti i file .dll della cartella c:\gtk\bin\. Probabilmente è possibile fare qualcosa di piu' pulito.

programmazione/rust/gtk4_windows.txt · Ultima modifica: 13/04/2026 14:58 da Fabio Di Matteo