2009-02-11 10 views
6

J'essaie de compiler une version de mon logiciel pour une plate-forme 64 bits. Puis-je avoir la version 32 bits et 64 bits de libstdC++ installée sur la même machine sans trop de soucis de casser mon installation de Linux. L'Os est en Ubuntu 32bit.libstdC++ Version 64 bits et 32 ​​bits sur la même machine

Je n'ai pas compilé auparavant et je voulais juste vérifier que si je définissais mes CFLAGS et LDFLAGS pour le CPU approprié, je devrais être ok une fois que j'ai les bonnes versions de libstdC++ installées.

J'ai vérifié une version 64 bits de ubuntu mais cela a un lien symbolique

lib64 -> lib

cela gâcher lots si cela est le cas sur une machine 32 bits trop ce que quelqu'un sait comment trier ce ?

Je frappais l'erreur suivante au moment

[exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.so 
[exec] /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.2.4/libstdc++.a 
when searching for -lstdc++ [exec] /usr/bin/ld: skipping incompatible 

et ainsi de suite jusqu'à

[exec] /usr/bin/ld: cannot find -lstdc++ 
[exec] collect2: ld returned 1 exit status 

qui semble être dû au fait que je n'ai pas la version 64 bits de libstdC++

+0

pour une raison quelconque, il semble que certains, sinon tous, je distros unbuntu manquent lib64. Ne l'utilisez pas moi-même mais des questions similaires ont été posées ici à propos des bibliothèques 64 bits. Quoi qu'il en soit toucan ont tous deux installé, pas de problème en théorie. –

Répondre

4

Bien sûr, vous pouvez. Il suffit de les mettre dans /usr/lib et /usr/lib64, respectivement.

ne peut pas vérifier sur Ubuntu, mais Fedora ils y arrivent droit des colis:

[~#] repoquery -q -l libstdc++.i386 
/usr/lib/libstdc++.so.6 
/usr/lib/libstdc++.so.6.0.10 

[~#] repoquery -q -l libstdc++.x86_64 
/usr/lib64/libstdc++.so.6 
/usr/lib64/libstdc++.so.6.0.10 
+1

Je serai apte à les obtenir savez-vous si cela se produit par défaut sur Ubuntu? –