portage source machine 32 à 64 bits
Bonjour,
Je dois porter mes application d'une machine linux 32 bits vers une machine 64 bits :
Code:
1 2 3 4
| >machine 32> uname -m
i686
>machine 64> uname -m
x86_64 |
Je n'ai pas de warning de compilation sur ma machine 32, par contre en 64 bits j'ai des warnings concernant des cast. Par exemple :
Code:
1 2 3
| int caller;
...
XtAddCallback (Button_Close, XmNactivateCallback, close_cb,(XtPointer) caller); |
Le pb vient du cast sur la variable caller.
Si je change "int caller" par "long int caller", ce warning disparait, mais engendre de nouveaux warnings sur la variable caller qui n'est plus du même type ... en cascade cela a de nombreuses répercussions.
Le contenu de mes variables n'a pas changé, je sais donc que tout tient dans des int : un int fait 4 octets en 32 bits ou 64 bits, le pb vient du type long int qui est passé de 4 à 8 octets en 64 bits ( ce qui a du aussi modifier la taille du type XtPointer).
Comment puis je supprimer mon Warning initial de manière élégante, sans changer le type de la variable concernée ?
Merci