Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/06/2013, à 21:38

Nephis Vermilion

Vala + GTK [IDE Geany]

j'ai un souci avec Geany, j'arrive pas à générer un code qui utilise GTK, ça me donne l'erreur suivante:

Terminal:

./geany_run_script.sh: 5: ./geany_run_script.sh: ./sans titres: not found


------------------
(program exited with code: 127)
Press return to continue

et dans l'IDE Geany:

sans titres.vala:31.5-31.7: error: The symbol `Gtk' could not be found

une idée ?

le code en question [Vala] :

public class Main
{
  public static int main (string[] args)
  {
    Gtk.init (ref args); /* Initialisation de GTK+ */

    Gtk.Window window = new Gtk.Window (Gtk.WindowType.TOPLEVEL); /* Création d'une fenêtre */
    window.set_default_size (150, 100);   /* Taille de la fenêtre */
    window.destroy += Gtk.main_quit;      /* Si la fenêtre est fermée, le programme quitte */
    window.add (new Gtk.Label ("Bonjour ubuntu-fr !"));

    window.show_all ();   /* Affichage */
    Gtk.main ();
    return 0;
  }
}

je cherche aussi à pouvoir utiliser Geany sous Windows, mais j'ai du mal à installer vala/valac et gtk ... une personne à test ?

Dernière modification par Nephis Vermilion (Le 05/06/2013, à 12:50)


Système: Elementary OS Luna
PC portable: ThinkPad T42 & HP DV6005SF

Hors ligne

#2 Le 02/06/2013, à 21:57

Braun

Re : Vala + GTK [IDE Geany]

Bonsoir,
Indépendamment de Geany & Co, il me semble qu'un #include adapté serait de bon ton, e.g.

#include <gtk/gtk.h>

A condition que les bibliothèques soient bien disponibles oeuf corse.

Hors ligne

#3 Le 02/06/2013, à 22:33

Nephis Vermilion

Re : Vala + GTK [IDE Geany]

je n'es pas vraiment compris, peu tu mieux détailler stp ?


Système: Elementary OS Luna
PC portable: ThinkPad T42 & HP DV6005SF

Hors ligne

#4 Le 03/06/2013, à 10:30

Braun

Re : Vala + GTK [IDE Geany]

Bon, au temps pour moi, il s'agirait probablement plutôt d'une ligne du genre

using Gtk;

Mais ceci mis à part, comment veux tu qu'on devine les opérations demandées sans connaître le contenu du fichier shell "./geany_run_script.sh"?

Hors ligne

#5 Le 03/06/2013, à 12:39

Nephis Vermilion

Re : Vala + GTK [IDE Geany]

je ne trouve pas le fichier O,o
je suis vraiment novice là, peux-tu me dire au moins quelle ligne qui pose problème ? (la 5e à ce que j'ai compris ?)

le problème que j'ai c'est que je ne comprends à pas comment générer automatiquement la compilation de valac avec le gtk:
dans Geany, dans l'onglet "Construire" -> "Définir la commande de construction" il y a 2 lignes pour le mode non gtk (si j'ai bien compris) je cherche a ajouter une commande pour le faire automatiquement sans le faire à la main.

Compiler:

valac -c "%f"

Construire:

valac "%f"

exemple pour le C++

zily a écrit :

çà y est en mettant çà :

compiler :

gcc -export-dynamic `pkg-config --cflags --libs gtk+-2.0` `pkg-config --cflags --libs libglade-2.0` -Wall -c "%f"

construire :

gcc -export-dynamic `pkg-config --cflags --libs gtk+-2.0` `pkg-config --cflags --libs libglade-2.0` -Wall "%f" 

cool

le problème c'est que je ne sais pas quoi modifier la dedans pour l'utiliser en Vala...

Dernière modification par Nephis Vermilion (Le 03/06/2013, à 12:51)


Système: Elementary OS Luna
PC portable: ThinkPad T42 & HP DV6005SF

Hors ligne

#6 Le 03/06/2013, à 13:39

Braun

Re : Vala + GTK [IDE Geany]

Nephis Vermilion a écrit :

quelle ligne qui pose problème ?

Normalement les prototypes de "Gtk" devraient être déclarés dans un fichier .h en C ou C++ ou autre chose en Valac.  Tout appel à une procédure ou une classe "Gtk ... " ne peut pas être reconnu sans prototype.

Nephis Vermilion a écrit :

je ne trouve pas le fichier

C'est un fichier caché mais tu devrais pouvoir le trouver en faisant par exemple:

find -name geany_run* 

Normalement ce devrait être le fichier clef dans la compilation d'un projet.
Tout ceci mis à part, je suis désolé mais
1/ Je ne pratique pas Geany depuis qu'il m'a refusé sad l'extension clisp ce que je trouve pas sympathique.
2/ J'ignore tout de valac dont Synaptic me refuse sad l'installation.
Ton problème m'intéresse dans sa généralité mais pour les détails...

Hors ligne

#7 Le 03/06/2013, à 23:35

Nephis Vermilion

Re : Vala + GTK [IDE Geany]


Système: Elementary OS Luna
PC portable: ThinkPad T42 & HP DV6005SF

Hors ligne

#8 Le 05/06/2013, à 12:49

Nephis Vermilion

Re : Vala + GTK [IDE Geany]

valac -c "main2.vala" (dans le dossier : /home/asuna/Documents)
main2.vala:7.5-7.7: error: The symbol `Gtk' could not be found
    Gtk.Window window = new Gtk.Window (Gtk.WindowType.TOPLEVEL); /* Création d'une fenêtre */
    ^^^
Compilation failed: 1 error(s), 0 warning(s)
Compilation échouée.

sa me donne encore cette erreur ... je ne comprend pas

et en mode construction GTK:

valac --pkg gtk+-2.0 "main2.vala" (dans le dossier : /home/asuna/Documents)
gtk+-2.0.vapi:5802.40-5802.42: warning: Gtk is deprecated. Use gtk+-3.0
main2.vala:5.5-5.7: warning: Gtk is deprecated. Use gtk+-3.0
main2.vala:7.29-7.31: warning: Gtk is deprecated. Use gtk+-3.0
main2.vala:7.41-7.43: warning: Gtk is deprecated. Use gtk+-3.0
main2.vala:9.5-9.35: warning: deprecated syntax, use `connect' method instead
    window.destroy += Gtk.main_quit;      /* Si la fenêtre est fermée, le programme quitte */
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
main2.vala:9.23-9.25: warning: Gtk is deprecated. Use gtk+-3.0
main2.vala:10.21-10.23: warning: Gtk is deprecated. Use gtk+-3.0
main2.vala:13.5-13.7: warning: Gtk is deprecated. Use gtk+-3.0
/home/asuna/Documents/main2.vala.c:9:21: erreur fatale: gtk/gtk.h : Aucun fichier ou dossier de ce type
compilation terminée.
Compilation failed: 1 error(s), 8 warning(s)
error: cc exited with status 256
Compilation échouée.

Système: Elementary OS Luna
PC portable: ThinkPad T42 & HP DV6005SF

Hors ligne

#9 Le 05/06/2013, à 15:40

Braun

Re : Vala + GTK [IDE Geany]

Bien que je ne fréquente toujours pas Geany, la réaction me semble normale.
Dans mon Makefile:

NAME=gtk_01
CFLAGS=-g -Wall -o $(NAME)
GTKFLAGS=-export-dynamic `pkg-config --cflags --libs gtk+-2.0`

SRCS=main.c
CC=gcc

# top-level rule to create the program.
all: main

# compiling the source file.
main: $(SRCS)
	$(CC) $(CFLAGS) $(SRCS) $(GTKFLAGS)

# cleaning everything that can be automatically recreated with "make".
clean:
	/bin/rm -f $(NAME)

Si je supprime la ligne

GTKFLAGS=-export-dynamic `pkg-config --cflags --libs gtk+-2.0`

J'ai droit aux mêmes insultes car le path est trop compliqué pour gcc.

Hors ligne

#10 Le 06/06/2013, à 12:48

Nephis Vermilion

Re : Vala + GTK [IDE Geany]

je suis novice, pardonne moi mais je ne comprend pas ce que tu ma dit...


Système: Elementary OS Luna
PC portable: ThinkPad T42 & HP DV6005SF

Hors ligne

#11 Le 07/06/2013, à 00:14

breizhodrome

Re : Vala + GTK [IDE Geany]

valac main.vala --pkg gtk+-3.0

il te manque le package nécessaire (valac passe cette option à gcc sous la forme `pkg-config --cflags --libs gtk+-3.0`)

petite modification de ton code, sans dépréciation :

public class Main
{
  public static int main (string[] args)
  {
    Gtk.init (ref args); /* Initialisation de GTK+ */

    Gtk.Window window = new Gtk.Window (); /* Création d'une fenêtre */ // TOPLEVEL est l'option par défaut, pas besoin de l'indiquer
    window.set_default_size (150, 100);   /* Taille de la fenêtre */
    window.destroy.connect(Gtk.main_quit):      /* Si la fenêtre est fermée, le programme quitte */ // ici :)
    window.add (new Gtk.Label ("Bonjour ubuntu-fr !"));

    window.show_all ();   /* Affichage */
    Gtk.main ();
    return 0;
  }
}

Marty ! ça marche à la vapeur !

Hors ligne

#12 Le 21/06/2013, à 17:23

Nephis Vermilion

Re : Vala + GTK [IDE Geany]

merci de l'info, oui il manquait bien un truc ^^


Système: Elementary OS Luna
PC portable: ThinkPad T42 & HP DV6005SF

Hors ligne