libstdc ++ a 64 bit e versione a 32 bit sulla stessa macchina
-
22-08-2019 - |
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 ++
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