Pergunta

Eu estou tentando atravessar compilar uma versão do meu software para uma plataforma de 64 bits. Posso ter a versão de 32 bits e de 64 bits do libstdc ++ instalados na mesma máquina sem demais preocupações de quebrar instalar o meu linux. O sistema operacional é 32 bits ubuntu.

Eu não cruza compilado antes e só queria ver que se eu definir o meu CFLAGS e LDFLAGS para a CPU apropriada eu deveria ser ok uma vez que tenho as versões corretas de libstdc ++ instalado.

Eu verifiquei uma versão de 64 bits do ubuntu no entanto, isso tem um link simbólico

lib64 -> lib

este iria atrapalhar lotes se este é o caso em uma máquina de 32 bits também Alguém sabe como resolver isso?

Eu estou batendo o seguinte erro no 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 assim por diante até

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

O que parece ser devido ao fato de eu não ter a versão de 64 bits do libstdc ++

Foi útil?

Solução

Claro que você pode.

Apenas colocá-los em /usr/lib e /usr/lib64, respectivamente.

Não é possível verificá-lo na Ubuntu, mas em Fedora eles chegam lá desde os pacotes:

[~#] 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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top