PDA

Visualizza la versione completa : [C++] Problema Compilazione con GTK2


HeroGian
23-06-2013, 13:12
Salve a tutti ragazzi, devo realizzare un progettino per l'universitÓ in c++ con le GTK.. ho da poco iniziato a fare qualche prova/esperimento con questa libreria, ma c'Ŕ una cosa che proprio non riesco a capire:

quando compilo questo


#include <iostream>
#include <cstdlib>
#include <ctime>
#include <gtk/gtk.h>

using namespace std;

#include "Funzioni.h"

char NomeFileIn[255]; /*< Variabile contenente il nome del file in input*/
char NomeFileOut[255]; /*< Variabile contenente il nome del file in output*/

extern "C" gboolean handler_delete_event( GtkWidget *widget,
GdkEvent *event, gpointer user_data )
{
gtk_main_quit();

return TRUE;
}

int main( int argc, char* argv[] )
{
key chiave;

srand(time(NULL));

/*Inizializzo la libreria GTK*/
gtk_init(&argc, &argv);
GtkBuilder* builder = gtk_builder_new();
gtk_builder_add_from_file(builder, "../RSA.glade", NULL);
gtk_builder_connect_signals(builder, NULL);

/*
*
*
*
*/

gtk_main();

return 0;
}


Il programma si compila, ma il compilatore mi restituisce questi warning che non capisco:

cc1plus: warning: unrecognized gcc debugging option: n
cc1plus: warning: unrecognized gcc debugging option: m
cc1plus: warning: unrecognized gcc debugging option: i
cc1plus: warning: unrecognized gcc debugging option: c
GTKMain.cc:1: warning: The C++ parser does not support -dy, option ignored
cc1plus: warning: unrecognized gcc debugging option: n
cc1plus: warning: unrecognized gcc debugging option: m
cc1plus: warning: unrecognized gcc debugging option: i
cc1plus: warning: unrecognized gcc debugging option: c
Funzioni.cc:1: warning: The C++ parser does not support -dy, option ignored

e nella cartella dei sorgenti che provo a compilare mi si generano centinaia di file con lo stesso nome dei miei sorgenti :confused:

Per compilare uso: g++ -Wall -o ../RSA GTKMain.cc Funzioni.cc `pkg-config --cflags --libs gtk+-2.0` -export -dynamic

HeroGian
23-06-2013, 20:02
nessuno? :(

MItaly
23-06-2013, 22:09
Che versione di g++ stai usando (dai g++ --version)? Cosa viene fuori se dal terminale dai


pkg-config --cflags --libs gtk+-2.0
?

HeroGian
24-06-2013, 10:49
g++ -version

"g++ (Debian 4.4.5-8) 4.4.5
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."


pkg-config --cflags --libs gtk+-2.0


"-pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lgio-2.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0"

MItaly
24-06-2013, 12:20
Hai messo uno spazio tra -export e -dynamic; l'opzione che vuoi probabilmente Ŕ -export-dynamic (solo un trattino e niente spazi tra le due parole).
Tra l'altro, -export-dynamic dovrebbe essere un'opzione del linker, non del compilatore, per cui al suo posto a g++ dovresti passare -rdynamic.

HeroGian
24-06-2013, 12:54
Originariamente inviato da MItaly
Hai messo uno spazio tra -export e -dynamic; l'opzione che vuoi probabilmente Ŕ -export-dynamic (solo un trattino e niente spazi tra le due parole).
Tra l'altro, -export-dynamic dovrebbe essere un'opzione del linker, non del compilatore, per cui al suo posto a g++ dovresti passare -rdynamic.
passando -rdynamic funziona alla perfezione!!
Grazie mille :)

MItaly
24-06-2013, 16:29
:ciauz:

Loading