#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
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
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.