Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
unicode et ncurses
Envoyé par: abgech

Bonjour,

Je suis en train de développer un petit projet utilisant ncurses en C.

Dans ce projet, j'utilise unicode (wchar_t) et le codage utf8. Aucun problème avec printf() et dérivés, tout baigne dans l'huile.

Mais impossible de travailler avec ncurses (et c'est pourtant nécessaire dans ce projet).
Par exemple, les fonctions wadd_wchstr() et waddwstr() semblent ne pas être reconnues lors de la compilation (j'obtiens le diagnostique : " implicit declaration of function ‘wadd_wchstr’ ", alors que, j'ai vérifié, le prototype existe dans ncurses.h. D'autre part, ces même fonctions ne sont pas retrouvées lors de la phase de link-edit, j'obtiens : "undefined reference to `wadd_wchstr'".
J'ai bien essayé d'envoyer une chaîne de type utf-8 comme une simple chaîne, mais cela ne produit pas les résultats escomptés. Dons inutile de biaiser de cette façon.

Mon implémentation de ncurses me semble correcte tant que je n'utilise pas unicode, puisque la totalité de mes logiciels l'utilisant se comporte correctement.

Alors, si quelqu'un a une idée de solution, je suis preneur avec d'immenses remerciements.


Poste le Saturday 29 March 2008 20:15:08
Répondre     Citer    
Re: unicode et ncurses

Peut-être utiliser libncursesw5-dev (ou le paquet similaire dans ta distribution). C'est des wchar_t, pas du UTF8, mais ça devrait être Unicodoïde.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Saturday 29 March 2008 21:38:27
Répondre     Citer    
Re: unicode et ncurses
Envoyé par: abgech

Basile,

Je te remercie de ta réponse. Grâce à un autre forum (http://linuxfr.org), j'ai trouvé la réponse. Il ne s'agit pas d'une question de version.

Si j'avais lu correctement le fichier ncurses.h, je me serais aperçu qu'il faut définir _XOPEN_SOURCE_EXTENDED (les déclarations concernant les fonctions/macros unicode sont protégées par un #ifdef _XOPEN_SOURCE_EXTENDED).

D'autre part, il faut linker avec la librairie libncursesw.a et non plus avec libncurses.a.

Voilà, c'est tout, je suis en route pour le prochain bug.

Poste le Sunday 30 March 2008 16:10:36
Répondre     Citer    
Re: unicode et ncurses

J'avais bien indiqué un w dans le nom du paquet... ;-)

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Sunday 30 March 2008 18:18:49
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
unicode et ncurses
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons