Compatibilité bibliothèque 32bit et 64bit dans un même programme

Tags: #<Tag:0x00007f58cedaa8f8> #<Tag:0x00007f58cedaa6c8> #<Tag:0x00007f58cedaa420> #<Tag:0x00007f58cedaa308>

Bonjour à tous,


J’ai un projet 64bit sur Bullseye avec des bibliothèque 64bit auxquelles je doit incorporer une bibliothèque 32bit.
J’arrive à compiler les bibliothèques indépendamment dans des projet de tests avec pour la bibliothèque 32bit l’option gcc -m32 et l’installation de sudo apt-get install g++-multilib ce qui donne :
gcc -m32 main.c ... -libwlib32


Le problème c’est que lorsque je veux fusionner les 2 bibliothèques, c’est le drame. En fonction de l’option -m32 -m64 l’une ou l’autre bibliothèque n’est pas reconnue.


J’ai donc cherché des solutions :

  1. Compilation d’un programme avec 2 bibliothèque de type différent mais apparemment ceci est impossible :

https://social.msdn.microsoft.com/Forums/fr-FR/dcea5ee8-3691-4cd2-a2e0-32297d1dcd45/compatibilit-librairie-32-bits-lors-dun-link-64-bits

  1. Décompiler la librairie et la recompiler en 64bit car je n’est pas le code c originale mais je ne sais absolument pas faire.

  2. Payer 1000€ Une nouvelle version de la bibliothèque en espérant qu’elle possède une version 64 bit.

  3. Passer tout mon projet en 32 bit à condition de trouver les bonnes bibliothèques qui apparemment n’existe pas. Je peut peut-être m’en sortir en les recompilant.

  4. Revenir sur Windows qui lui possède les bonne bibli … La loose


Si vous avez des solutions je suis preneur. Pour info j’utilise :