Compilando x32 bits LD_PRELOAD en Ubuntu de 64 bits

Estoy tratando de compilar x32 LD_PRELOAD en la plataforma x64 (Ubuntu), mi comando:

g++ -fPIC -m32  -shared -Wl,-soname,test.so -ldl -o test.so test.cpp

Pero estoy recibiendo error:

/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.5/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status

¿Cómo puedo arreglar eso? ¡Gracias!

preguntado el 12 de junio de 12 a las 21:06

Probablemente le falta algún paquete multilib, o su biblioteca C++ estándar de 32 bits no está en la ruta lib. -

1 Respuestas

Debe instalar paquetes de desarrollo de 32 bits proporcionados por su distribución. Está viendo este error porque no tiene una libstdc++ de 32 bits para vincular.

Prueba a instalar Ubuntu g++-multilib paquete.

Respondido el 12 de junio de 12 a las 21:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.