bonjour,
j'ai un léger souci lié à l'encodage de caractères sous GTK+
typiquement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
//ErrorStr est un char* alloué dans la heap plus tôt dans le même fichier source
gchar* labelTmp = g_locale_to_utf8(ErrorStr, -1, NULL, NULL, NULL);
GtkWidget* ht_ckbox = gtk_check_button_new_with_label(labelTmp);
g_free(labelTmp);
est fonctionnel
l'affichage dans mon interface en GTK+ marche impec

maintenant j'ai compliqué les choses.
j'ai créé une lib dans laquelle j'ai écris quelque phrases accentuées (3 ou 4 messages d'erreur écrient en français)
j'ai build cette lib, et je la link avec mon application

sous Windows, aucun soucis, le label apparait comme il faut

sous Linux, aucun texte n'apparait
il se trouve que la fonction "g_locale_to_utf8" me retourne un pointeur NULL

pour transposer sur le code ci-dessus

si "ErrorStr" est déclarée dans la heap dans une Lib (.lib sous win | .a sous nux)
l'encodage en utf8 retournera NULL

si "ErrorStr" est déclarée dans la même application (que ce soit dans le même bloc de code ou en tant qu'attribut de la class appelante)
l'encodage en utf8 fonctionnera

y'a t-il une option de compilation a balancer au linker pour ne plus avoir ce problème, y'a t-il une raison (surement ^_^) à ce souci ?

merci