Faire tourner une librairie 32bits sur un 64b
kiki_calisto
-
kilian Messages postés 8854 Statut Modérateur -
kilian Messages postés 8854 Statut Modérateur -
Bonjour,
Voici mon souci, je suis sous Linux avec un noyau x86_64.
J'ai une bibliothèque compilé pour x86 dont je n'ai pas les sources. Et j'ai besoin de l'utiliser pour compiler une application en x86_64. Le problème est que bien entendu à l'édition de liens, ld m'indique que la librairie n'est pas faite pour cette architecture et qu'il ne la prend pas en compte.
J'ai essayé plusieurs choses :
-> Décompiler la bibliothèque (pas de soucis de propriété intelectuelle, ça appartient à mon labo). Mais je n'ai pas trouver d'outils capable de bien le faire (le code est assez gros car il contient un parseur et un lexeur).
-> Essayer de changer les options de "ld" pour modifier l'architecture sélectionné, mais ça n'as pas marché.
Avez-vous une idée, ou bien même une piste.. ?
Voici mon souci, je suis sous Linux avec un noyau x86_64.
J'ai une bibliothèque compilé pour x86 dont je n'ai pas les sources. Et j'ai besoin de l'utiliser pour compiler une application en x86_64. Le problème est que bien entendu à l'édition de liens, ld m'indique que la librairie n'est pas faite pour cette architecture et qu'il ne la prend pas en compte.
J'ai essayé plusieurs choses :
-> Décompiler la bibliothèque (pas de soucis de propriété intelectuelle, ça appartient à mon labo). Mais je n'ai pas trouver d'outils capable de bien le faire (le code est assez gros car il contient un parseur et un lexeur).
-> Essayer de changer les options de "ld" pour modifier l'architecture sélectionné, mais ça n'as pas marché.
Avez-vous une idée, ou bien même une piste.. ?
A voir également:
- Faire tourner une librairie 32bits sur un 64b
- Tourner ecran windows - Guide
- 32bits - Guide
- Comment tourner une page sur word - Guide
- Tourner une vidéo - Guide
- Ubuntu 32bits - Télécharger - Systèmes d'exploitation
1 réponse
Salut,
Lis ceci ça pourrait te donner une direction:
http://www.commentcamarche.net/faq/sujet 9185 compiler tester en 32 bits sur ubuntu x86 64
Si ta librairie s'appelle libprout.so dans le repertoire courant, essaie de lier ton fichier machin.c comme ceci:
Il faut bien sûr que les librairies dont dépend la tienne soient compilées également en 32 bits.
Si c'est juste la libc6 ya pas de soucis, suis l'astuce, sinon faudra ruser.
Lis ceci ça pourrait te donner une direction:
http://www.commentcamarche.net/faq/sujet 9185 compiler tester en 32 bits sur ubuntu x86 64
Si ta librairie s'appelle libprout.so dans le repertoire courant, essaie de lier ton fichier machin.c comme ceci:
gcc -m32 machin.c -o machin -L./ -lprout
Il faut bien sûr que les librairies dont dépend la tienne soient compilées également en 32 bits.
Si c'est juste la libc6 ya pas de soucis, suis l'astuce, sinon faudra ruser.