[Risolto][C++]Errori compilazione programmi con gtk

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
carru93
Prode Principiante
Messaggi: 7
Iscrizione: giovedì 2 giugno 2016, 11:40
Desktop: ubuntu
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile

[Risolto][C++]Errori compilazione programmi con gtk

Messaggio da carru93 »

Salve, ho iniziato a programmare in c++ da poco, come IDE utilizzo geany, e ovviamente programmo su Ubuntu.
Ultimamente ho deciso di provare a scrivere alcune applicazioni con GUI e come libreria ho scelto gtk. Il problema è che quando compilo o creo il file oggetto mi dà errore, precisamente per fare il compile uso(all'interno di geany):

Codice: Seleziona tutto

g++ -Wall $(pkg-config gtk+-3.0 --cflags --libs) "%f" -c "%e"
e per fare il build uso:

Codice: Seleziona tutto

g++ -Wall $(pkg-config --cflags --libs gtk+-3.0) "%f" -o "%e"
Il programma che vorrei compilare è questo, una semplice finestra 200x200px chiudibile solo da shell:

Codice: Seleziona tutto

#include <gtk/gtk.h>

int main(int argc, char *argv[]){
	GtkWidget *window;
	gtk_init(&argc, &argv);
	window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_widget_show(window);
	gtk_main();
	return 0;
	}
quando compilo mi dà questo errore:

Codice: Seleziona tutto

g++: error: finestra con gtk: File o directory non esistente
(finestra con gtk è il nome del progetto)

quando faccio il buid mi dice:

Codice: Seleziona tutto

g++ -Wall $(pkg-config --cflags --libs gtk+-3.0) "finestra con gtk.cpp" -o "finestra con gtk" 
/tmp/cc1R12FM.o: nella funzione "main":
finestra con gtk.cpp:(.text+0x1e): riferimento non definito a "gtk_init"
finestra con gtk.cpp:(.text+0x28): riferimento non definito a "gtk_window_new"
finestra con gtk.cpp:(.text+0x38): riferimento non definito a "gtk_widget_show"
finestra con gtk.cpp:(.text+0x3d): riferimento non definito a "gtk_main"
collect2: error: ld returned 1 exit status
Compilazione fallita.
Sapreste aiutarmi?
Qualcuno di esperto potrebbe anche darmi consigli sullo sviluppo di programmi con GUI?
grazie in anticipo.
Ultima modifica di carru93 il giovedì 2 giugno 2016, 15:06, modificato 1 volta in totale.
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: [c++] Errori nella compilazione di programmi con gtk

Messaggio da telperion »

carru93 [url=http://forum.ubuntu-it.org/viewtopic.php?p=4887648#p4887648][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Salve, ho iniziato a programmare in c++ da poco, come IDE utilizzo geany, e ovviamente programmo su Ubuntu.
Ultimamente ho deciso di provare a scrivere alcune applicazioni con GUI e come libreria ho scelto gtk. Il problema è che quando compilo o creo il file oggetto mi dà errore, precisamente per fare il compile uso(all'interno di geany):


Sapreste aiutarmi?
Qualcuno di esperto potrebbe anche darmi consigli sullo sviluppo di programmi con GUI?
grazie in anticipo.

con C++ devi usare gtkmm.
esempio:
1.cpp

Codice: Seleziona tutto

#include <gtkmm.h>

int main(int argc, char *argv[])
{
    Glib::RefPtr<Gtk::Application> app =
        Gtk::Application::create(argc, argv,
                                 "org.gtkmm.examples.base");

    Gtk::Window window;
    window.set_default_size(200, 200);

    return app->run(window);
}
build :

Codice: Seleziona tutto

g++ 1.cpp -o 1  `pkg-config gtkmm-3.0 --cflags --libs`
carru93
Prode Principiante
Messaggi: 7
Iscrizione: giovedì 2 giugno 2016, 11:40
Desktop: ubuntu
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile

Re: [c++] Errori nella compilazione di programmi con gtk

Messaggio da carru93 »

con C++ devi usare gtkmm.
esempio:
1.cpp

Codice: Seleziona tutto

#include <gtkmm.h>

int main(int argc, char *argv[])
{
    Glib::RefPtr<Gtk::Application> app =
        Gtk::Application::create(argc, argv,
                                 "org.gtkmm.examples.base");

    Gtk::Window window;
    window.set_default_size(200, 200);

    return app->run(window);
}
build :

Codice: Seleziona tutto

g++ 1.cpp -o 1  `pkg-config gtkmm-3.0 --cflags --libs`
Mi sembra molto più complicato del gtk...
Sapresti linkarmi qualche guida utile?
Si può installare da terminale? (usando "sudo apt-get install libgtkmm-3.0-dev")
Qual'è la versione più aggiornata?
posso usare all'inizio di ogni programma "using namespace Gtk;" per evitare di scrivare ogni volta Gtk::etc...?
grazie mille dell'aiuto :D
Avatar utente
telperion
Rampante Reduce
Rampante Reduce
Messaggi: 5407
Iscrizione: lunedì 10 luglio 2006, 18:20

Re: [c++] Errori nella compilazione di programmi con gtk

Messaggio da telperion »

Mi sembra molto più complicato del gtk...
Sapresti linkarmi qualche guida utile?
Si può installare da terminale? (usando "sudo apt-get install libgtkmm-3.0-dev")
Qual'è la versione più aggiornata?
posso usare all'inizio di ogni programma "using namespace Gtk;" per evitare di scrivare ogni volta Gtk::etc...?
grazie mille dell'aiuto :D
non è che è più complicato, sono il binding c++ delle gtk che sono scritte in C.
http://www.gtkmm.org/en/
libgtkmm è nei repository.
Per il resto non saprei, ho mollato C++ ed ora uso python con gkt3, che per i miei programmi va più che bene.
carru93
Prode Principiante
Messaggi: 7
Iscrizione: giovedì 2 giugno 2016, 11:40
Desktop: ubuntu
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile

Re: [c++] Errori nella compilazione di programmi con gtk

Messaggio da carru93 »

Va bene, grazie dell'aiuto!:D
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti