Pages : 1
#1 Le 05/03/2017, à 18:44
- turboiii
gcc sur ubuntu 16.10
bonjour à tous
Je fais mes premiers pas sur ubuntu 16.10 installé enfin .......
Notez que je travaille depuis plusieurs mois sous ubuntu 14 en C, GTK3 et geany .....
Evidemment par prudence je procède par étape. J'utilise un premier code fonctionnel sous ubuntu 14 pour le compiler et le tester
#include <stdlib.h>
#include <gtk/gtk.h>
#include <glib/gprintf.h>
/* Compile with:
* gcc -std=c11 -Wall -fmax-errors=10 -Wextra hello_gtk3_version.c -o hello_gtk3_version `pkg-config --cflags --libs gtk+-3.0`
*/
// hello_gtk3_version.c
void hello (GtkWidget *widget, gpointer data)
{
//le résultat de cette fonction n'est visible que si l'app est lancée du terminal par ./app
g_print ("Bonjour tout le monde.\n");
(void)widget;
(void)data;
}
gint on_delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
{
g_print ("le signal delete_event est survenu.\n");
return TRUE;
(void)widget;
(void)event;
(void)data;
}
int main (int argc, char *argv[])
{
GtkWidget *window;
GtkWidget *button;
char Version[30];
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (window, "delete-event", G_CALLBACK (on_delete_event), NULL);
g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
sprintf(Version, "Bonjour Gtk3 Version %d.%d.%d\n", gtk_major_version, gtk_minor_version, gtk_micro_version);
g_printf("%d.%d.%d\n", gtk_major_version, gtk_minor_version, gtk_micro_version);
button = gtk_button_new_with_label (Version);
g_signal_connect (button, "clicked", G_CALLBACK (hello), NULL);
g_signal_connect_swapped (button, "clicked", G_CALLBACK (gtk_widget_destroy), window);
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show_all (window);
gtk_main ();
return EXIT_SUCCESS;
}
ensuite sous geany j'ai mis l'option de construction
gcc -Wall -c "%f" `pkg-config --cflags --libs gtk+-3.0`
le test sous geany fonctionne correctement et j'obtiens la version de gtk 3.20.9
dans le terminal et j'obtiens bien un bouton gtk avec marqué Bonjour Gtk3 Version 3.20.9
en revanche la commande en ligne
gcc -std=c11 -Wall -fmax-errors=10 -Wextra hello_gtk3_version.c -o hello_gtk3_version `pkg-config --cflags --libs gtk+-3.0`
ne fonctionne pas avec un résultat attendu
je n'ai pas d'erreur de compilation mais le fichier compilé et linké n'est pas exécutable à partir de Nautilus alors qu'en ligne de commande avec ./hello_gtk3_version sa fonctionne.
Que faut -il faire au niveau nautilus pour que mes programmes compilés fonctionnent ? A savoir que je puisse les lancer directement en mode graphique
Hors ligne
Pages : 1