Domanda

Sto cercando di attraversare compilare una versione del mio software per una piattaforma a 64 bit. Posso avere la versione a 32 bit e 64 bit di libstdc ++ installato sulla stessa macchina senza troppe preoccupazioni di rottura installa stampante Linux. Il sistema operativo è a 32 bit di Ubuntu.

Non ho incrociato compilato prima e volevo solo verificare che se ho impostato il mio CFLAGS e LDFLAGS per la CPU appropriata dovrei essere ok una volta che ho le versioni corrette di libstdc ++ installato.

Ho controllato una versione a 64 bit di Ubuntu tuttavia questo ha un link simbolico

lib64 -> lib

questo sarebbe rovinare un sacco, se questo è il caso su una macchina a 32 bit anche qualcuno sa come risolvere la questione?

sto colpendo il seguente errore al momento

 [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
     

e così via fino

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

che sembra essere dovuto al fatto che io non ho la versione a 64 bit di libstdc ++

È stato utile?

Soluzione

Certo che puoi.

Basta metterli in rispettivamente /usr/lib e /usr/lib64,.

Non è possibile controllare il Ubuntu, ma su Fedora ci arrivano proprio dai pacchetti:

[~#] 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top