2015-09-18 46 views
23

Cercando di installare GTK + 3.0 su Codeblocks Win7. Avere qualche problema nel trovare esattamente come farlo.Come si installa GTK + 3.0 su Windows?

Il sito Web GTK indirizza a msys2. Sembra che ci sia stata una volta un download diretto sul sito GTK per un bundle Windows tutto-in-uno che non c'è più.

Dopo aver seguito le istruzioni, installato e aggiornato msys2, non vedo riferimenti a GTK +, nei file installati o sul sito Web mysys a cui è indirizzato GTK.

Sembra molto linuxy in termini di essere inutilmente e stupidamente poco chiaro per fare qualcosa che dovrebbe essere semplice. Forse mi manca qualcosa ma non dovrebbe essere semplice come scaricare una cartella zippata, estrarre e impostare i percorsi?

A questo tasso id è più veloce imparare C++ e andare con Qt.

La domanda è nel titolo, sono stupito di dover fare la domanda, sembra una cosa che google dovrebbe avere completamente coperto ma tutto quello che sto trovando riguarda un download che non è più disponibile sulla GTK sito web. Non riesco a trovare informazioni su msys2 e GTK + 3.0.

Grazie in anticipo.

+0

per GUI, sono un programmatore per principianti e conosco solo alcuni C in questa fase. –

+1

Vorrei, ma mi piace molto essere vivo in questo momento e dover affrontare il mal di testa senza fine che Linux mette in pericolo. Rispetto alle persone che usano Linux ma nelle poche occasioni in cui le ho dato la possibilità, è stato solo un problema dopo l'altro, prima ancora che io possa tentare di usare il computer per quello che voglio fare. Amo la filosofia open source di Linux, ma non ho la conoscenza o il cuore/desiderio di ottenere le conoscenze necessarie per replicare le mie configurazioni di Windows. Windows funziona, io uso XP/7 e con la tabulazione dei nuovi sistemi operativi Windows ora dubito che non li lascerò mai. –

+0

Scherzando su cosa? –

risposta

26

Benvenuto, utenti Google dal futuro! Da quando ho scritto questa risposta, il sito Web GTK + ora has official installation instructions copre ciò che ho detto di seguito, ma con maggiori dettagli e meno dolore. Fare riferimento a quella pagina, invece. La risposta qui sotto è stata mantenuta per ragioni storiche.

Il problema con il sito web GTK + è che non c'è nessuno a mantenere queste distribuzioni binarie. La precedente distribuzione binaria per Windows era per GTK + 3.6, che è stato rilasciato credo nel lontano 2012, se non prima. La versione corrente è 3.16 e 3.18 è letteralmente giorni non rilasciata. MSYS2 è l'unico meccanismo di installazione supportato ed è aggiornato abbastanza frequentemente.

Detto questo, è necessario installare GTK + separatamente se si utilizza la rotta MSYS; MSYS non viene fornito con GTK + out of the box. Inizia con

pacman -Ss gtk3 

Questo dovrebbe darvi una lista di possibili pacchetti da installare, comprese le librerie GTK + sia a 32-bit e 64-bit MinGW. Ho dimenticato i loro nomi esatti ora.

Una volta trovato quello che si desidera, utilizzare

pacman -S package-name-here 

per installarlo. Quindi, aprire MinGW 32-bit o 64-bit Shell dalla cartella MSYS del menu Start per iniziare lo sviluppo.

Se si desidera un IDE tradizionale per la programmazione GTK +, cercare GNOME Builder o Anjuta. Per un grafico GUI designer, cerca Glade.

+4

Eccellente, sapevo che sarebbe stato qualcosa di semplice per le persone che conoscono Linux. In realtà sono riuscito a trovare il download di Windows 3.6.4 qui http://win32builder.gnome.org/gtk+-bundle_3.6.4-20130921_win32.zip e sembra che funzioni fino ad ora senza passare per il modo in cui msys2 hai mostrato. Come si suppone che un utente di Windows sappia farlo, la pagina di Windows GTK dovrebbe essere aggiornata con istruzioni più chiare? Se avrò problemi proverò a reinstallare con il metodo che hai dato, ma spero di non doverlo fare. Grazie per le raccomandazioni, stavo programmando di controllare Glade. –

+1

Non utilizzare i pacchetti, sono tutti obsoleti.Usa MSYS2 come è quello che gli sviluppatori GTK + dicono che è ciò che è supportato su Windows. Ho riscritto le istruzioni di installazione da quando è stata scritta la risposta. Ora dovresti essere in grado di installare GTK + usando MSYS2 senza dolore seguendo le istruzioni ufficiali: https://www.gtk.org/download/windows.php – liberforce

+0

@liberforce Excellent! Ho aggiornato la risposta con questa nuova informazione. – andlabs

6

Hallelujah, ho trovato la versione non lineare di GTK per Windows.

Qualcuno è stato così gentile da caricare su Dropbox i file GTK, basta scaricare ed estrarre. Ecco il link per chiunque altro incontri questo disastro di GTK/msys2.

https://www.dropbox.com/sh/8d1qbh5dsp044on/UgkALzhlqH

Questi file in realtà dovrebbe essere disponibile nella pagina di download di Windows GTK, E 'incredibile.

Chiudi questa discussione, viva windows.

+3

In realtà, questo è esattamente ciò che le persone GTK non vogliono offrire, così che le persone che si sviluppano usando GTK e vogliono distribuire le loro app sappiano ciò di cui hanno bisogno. – liberforce

+2

Scusa la mia ignoranza, ma perché questo post è stato downvoted? Non è una buona cosa che i binari GTK per Windows ora esistano? –

+9

Beh, non so perché sia ​​stato downvoted, ma mi piacerebbe davvero che provenisse da una fonte con più autorità di un link dropbox ... –

2

Concordo comunità di GNOME è essere un po 'insolente a questo punto. Hanno reso l'installazione GTK + quasi uguale all'installazione di Linux, che è un po 'come darti pepsi in mcdonalds.

Il peggio è che ti costringe a usare la propria merda nella misura in cui ti dicono anche quale IDE scegliere, come costruirai la tua app, cosa avrà nella tua app .. (Niente di personale, io in realtà preferisco sempre Linux, sto solo essere imparziale)


ora per essere specifici, lei ha citato esplicitamente CodeBlocks. Non utilizzare il progetto GTK + di code :: block, è terribilmente obsoleto. È possibile, naturalmente modificare lo script o creare il proprio, ma è ancora in corso a rallentare e noi, i programmatori di valorizzare il nostro tempo (credo)

La procedura di installazione (fino ad oggi) GTK3 ver . 3.22.16 su Windows 7 per l'uso con Code :: Blocks risulta essere piuttosto semplice. Prima scaricare MSYS2 e tipo all'interno del guscio msys2:

pacman -S mingw-w64-x86_64-gtk3

(Enter y per confermare) Poi

pacman -S mingw-w64-x86_64-toolchain base-devel (per assicurarsi che avrete precompilati file binari di pkg-config e per assicurati di avere l'ultima versione di gcc)

Quindi hai del lavoro in CodeBlocks, prima imposta il nuovo compilatore, da Codebl impostazioni del compilatore di ocks -> eseguibili Toolchain. Il nuovo compilatore dovrebbe essere situato in C:\msys64\mingw64 (C oppure il disco è stato installato MSYS in)

quindi collegare alcune librerie nelle impostazioni del compilatore di CodeBlocks -> Ricerca directory: enter image description here Queste librerie sarà sufficiente per eseguire questo codice di esempio semplice :

#include <gtk/gtk.h> 

static void activate (GtkApplication* app, gpointer user_data) 
{ 
    GtkWidget *window; 

    window = gtk_application_window_new(app); 
    gtk_window_set_title(GTK_WINDOW (window), "Window"); 
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200); 
    gtk_widget_show_all(window); 
} 

int main (int argc, char *argv[]) 
{ 
    GtkApplication *app; 
    int status; 

    app  = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE); 
    g_signal_connect(app, "activate", G_CALLBACK (activate), NULL); 
    status = g_application_run(G_APPLICATION (app), argc, argv); 
    g_object_unref(app); 

    return status; 
} 

ed avere un risultato come questo: enter image description here

+0

Grazie per la risposta, ma alla fine sono riuscito a non rompere Linux e lo sto usando esclusivamente per un po 'di tempo. Viva Linux, Viva Python –

+0

@NOPDACALL Stai andando alla grande. Considerando che questo è più simile a un progetto linux portato su Windows in aggiunta. – Edenia

+1

Inoltre ho il sospetto che tu sia riuscito a gestirlo correttamente. Ci sono ancora persone che si chiedono come installarlo facilmente su Windows. Le versioni più recenti sono molto diverse, più compatte, meglio strutturate e molto migliorate. – Edenia

1

giorni fa mando un e-mail ad uno dei manutentore di gtk per un aiuto con vs 2017, e qui è la lettera. Dopo questo, ho scelto di usare gtk 2.0 su finestre

questo è mio

ho installato il msys2, e ho notato che, ci sono molti testa fille in questa cartella. \ Msys64 \ mingw64 \ include Quindi, mi chiedo se io posso includere direttamente coloro file con msys64 al vs 2017. e diciamo vs 2017 per utilizzare lib sotto la folder.like questo ......

e questo è da lui

Prima di tutto, io non lo consiglio usando i build di msys, a meno che non si sia sicuri di che -Non si tenta di utilizzare le strutture FILE nel proprio codice con quelle utilizzate da GLib, ecc. -Lo glibconfig.h che si sta utilizzando corrisponde a glibcocnfig.h.win32 in il tarball di origine della versione di GLib stai utilizzando, perché lo sarà influenzato da tutto ciò che è stato costruito contro GLib.

Se si decide di continuare su questa rotta, è necessario specificare le librerie quando si effettua il collegamento. Vedere Linker-> INPUT-> Dipendenze aggiuntive, avrete bisogno di almeno i seguenti file .lib, separate da un punto e virgola:

gtk-3.0.lib (o gtk-3.lib)

gdk-3.0 lib (o gdk-3.lib)

gdk_pixbuf-2.0.lib

pangocairo-1.0.lib

pango-1.0.lib

atk-1.0.lib

gio-2.0.lib

gobject-2.0.lib

GModule-2.0.lib

glib-2.0.lib

cairo-gobject.lib

cairo .lib

intl.lib

e possibilmente fontconfig.lib e freetype.lib, poiché probabilmente le build di msys64 includono il supporto per esse.

Sarà inoltre necessario collegare a qualsiasi altra libreria che è possibile utilizzare per lo il proprio incarico. Preordina queste librerie con un'iling 'finale; prima di % (AdditionalDependencies) (non rimuovere% (AdditionalDependencies))

Con benedizioni e applausi!

beh ... ho trascorso diversi giorni a portare il mio programma su Windows, dopo aver lottato con gtk 3.x, ho scoperto che è possibile utilizzare gtk 2.x per evitare tutti quei problemi. questi sono alcuni vecchi file chiamati "All-in-one bundle" sebbene sia importante sapere che c'è un problema di sicurezza con esso, (in più devi riscriverlo su gtk 2.0) ma se si sta principalmente usando Linux, e vogliono solo che per funzionare su Windows, io ti suggerisco di utilizzare vecchi '-in-one Tutto fascio' per GTK 2.x ad esempio

https://download.gnome.org/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip.mirrorlist

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/16975801) –

+0

Grazie, ma devo dire che questo è un compito abbastanza comune. Se non sai come aggiungere un mucchio di file lib al tuo progetto e sappi che non dovresti passare FILE e altre strutture oltre i confini dell'API (file DLL - non più necessari ora con il runtime c universale) allora devi imparare le basi della programmazione C su Windows di nuovo. – Lothar

+0

@Lothar scusate, non ho mai imparato nulla sulla programmazione su Windows. Ho pensato che questa build di msys2 fosse adatta per l'uso diretto e risolto tutto il problema dell'API. –

1

Se stai cercando progetti che, oltre a Msys2, forniscano roba GTK3 compatibile con MSVC aggiornato, dovresti effettuare il check-out gvsbuild e Microsoft vcpkg. Sotto il cofano, il primo usa python e il successivo usa cmake.