Les recherches faites notamment par Adriweb montrent que l'inclusion de uchar.h est problématique, y compris sous Linux, en fait. http://www.gnu.org/software/gnulib/manu ... 002eh.html semble indiquer qu'uchar.h n'existe pas dans glibc 2.13, ce qui veut dire qu'actuellement, libhpcalcs ne fonctionne pas sous Debian stable (wheezy), publiée au début de cette année 2013. Bref, fin 2013, il reste tout simplement trop tôt pour faire du code qui dépend de uchar.h (standardisé fin 2011).
La façon correcte serait quelque chose du genre (copie de la note que j'ai ajoutée dans le README):
* add workaround for char16_t on platforms which don't have it:
* check availability of the uchar.h header, and of u"string", in
configure.ac;
* otherwise, use
typedef __CHAR16_TYPE__ char16_t; (if GCC >= 4.4 or clang)
typedef uint16_t char16_t; (generic fallback)
Mais comme je n'utilise, dans uchar.h, que la définition de char16_t... on pourrait faire moins bien mais plus simple:
- Code: Tout sélectionner
#ifdef __CHAR16_TYPE__
typedef __CHAR16_TYPE__ char16_t;
#else
typedef uint16_t char16_t;
#endif