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 11/08/2007, à 09:36

holy_wood

[Résolu] glib et regular expression ? GLib > 2.13

Bonjour !

Je veux programmer quelque chose en utilisant la GLibC. Tout va bien, sauf pour les expressions régulières (http://developer.gnome.org/doc/API/2.0/ … sions.html)

En compilant, j'ai une erreur « GRegex undeclared (first use in this function)  blabla ».

J'ai seulement le package « libglib-2.0-dev » d'installé.

Je me demandais s'il était possible de voir avec quels options un package est compilé ?
la GLib est-elle compilé avec le support pour les regex (--enable-regex) ? Sûrement.. ya quand même beaucoup de lib basée sur la glib.

J'ai du mal comprendre quelque chose smile

Merci de me remettre sur le droit chemin !

Un code source de test qui me donne l'erreur.

#include <glib.h>

static void
print_uppercase_words (const gchar *string)
{
  /* Print all uppercase-only words. */
  GRegex *regex;
  GMatchInfo *match_info;
  GError *error = NULL;
   
  regex = g_regex_new ("[A-Z]+", 0, 0, NULL);
  g_regex_match_full (regex, string, -1, 0, 0, &match_info, &error);
  while (g_match_info_matches (match_info))
    {
      gchar *word = g_match_info_fetch (match_info, 0);
      g_print ("Found: %s\n", word);
      g_free (word);
      g_match_info_next (match_info, &error);
    }
  g_match_info_free (match_info);
  g_regex_unref (regex);
  if (error != NULL)
    {
      g_printerr ("Error while matching: %s\n", error->message);
      g_error_free (error);
    }
}

int main (int *argc, char **argv)
{
    print_uppercase_words ("BlabBAL");
    return 0;
}

Dernière modification par holy_wood (Le 13/08/2007, à 18:25)

Hors ligne

#2 Le 13/08/2007, à 11:22

nicolas.sitbon

Re : [Résolu] glib et regular expression ? GLib > 2.13

Bonjour, ce problème est vraiment bizarre, je n'y avais jamais prêter attention, j'ai tenté de recompiler avec l'option --enable-regex même en jouant sur --with-pcre et en installant libpcre3-dev rien n'y a fait, pas de regex dans la glib : très bizarre... en attendant tu as toujours les regex du C (regex.h) qui fonctionnent très bien.
Cordialement.

#3 Le 13/08/2007, à 18:24

holy_wood

Re : [Résolu] glib et regular expression ? GLib > 2.13

Merci de ta réponse Nicolas.. au même moment je me suis rendu compte que la documentation est fait pour la Glib >= 2.13 et que Ubuntu utilise 2.12. Mais je ne sais pas si dans < 2.13 elles sont inclues..

Parfois je lis mal smile

Comme tu dis, en attendant j'utilise regex.h

Hors ligne

#4 Le 13/08/2007, à 20:25

nicolas.sitbon

Re : [Résolu] glib et regular expression ? GLib > 2.13

Justement j'ai tenté la compilation avec la 2.12.13 (la plus récente) mais rien à faire.
Cordialement.

#5 Le 13/08/2007, à 20:46

holy_wood

Re : [Résolu] glib et regular expression ? GLib > 2.13

Oui j'avais essayé aussi de compiler avec le flag --enable-regex.

Comme tu dis, rien à faire. Merci pour avoir confirmé ce que je pensais !

Hors ligne

#6 Le 15/08/2007, à 12:11

nicolas.sitbon

Re : [Résolu] glib et regular expression ? GLib > 2.13

Bon j'ai trouvé la solution : c'était simple finalement, les regex ne sont implémentées qu'à partir de glib 2.14.0, je l'ai installé et tout fonctionne parfaitement.
Cordialement.