Non ce n'est pas un bug, les typedefs désignent bien deux choses différentes lorsque l'architecture n'est pas 64bits : un unsigned long long pour poker et une structure de deux membres pour OCaml. Il n'y a aucun espoir de pouvoir faire passer l'un pour l'autre et, justement, le compilateur l'interdit.
Ce qui pourrait peut-être marcher c'est renommer une variante avec une macro du préprocesseur avant d'inclure un des entêtes (sans oublier de le désactiver juste après pour ne pas impacter les autres inclusions!) et ensuite utiliser le nouveau nom dans ton code. Par exemple en renommant l'alias d'OCaml :
[^] # Re: Un problème de macro ?
Posté par benja . En réponse au message Redefinition of typedef. Évalué à 4.
Non ce n'est pas un bug, les typedefs désignent bien deux choses différentes lorsque l'architecture n'est pas 64bits : un unsigned long long pour poker et une structure de deux membres pour OCaml. Il n'y a aucun espoir de pouvoir faire passer l'un pour l'autre et, justement, le compilateur l'interdit.
Ce qui pourrait peut-être marcher c'est renommer une variante avec une macro du préprocesseur avant d'inclure un des entêtes (sans oublier de le désactiver juste après pour ne pas impacter les autres inclusions!) et ensuite utiliser le nouveau nom dans ton code. Par exemple en renommant l'alias d'OCaml :
Sans résultat garanti ;-)