modificar fuente ejecutar compilar como codigo c++ c linux ubuntu

c++ - fuente - El programa de compilación para 32 bits en el sistema operativo Linux de 64 bits causa un error fatal



compilar y ejecutar c en linux gcc (4)

Utilizando

gcc -m32 myprog.c

debería compilar en la versión de 32 bits el archivo myprog.c .

Lamentablemente me sale este error:

In file included from /usr/include/stdio.h:27:0, from myprog.c:1: /usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory #include <sys/cdefs.h>

¿Cómo podría arreglar esto?

Si no uso -m32 funciona pero usa instrucciones de 64 bits.


Me encontré con este mismo problema. cuando intentaba crear archivos de 32 bits, mientras estaba en la versión de Ubuntu de 64 bits.

puedes construir cambiando tu versión de lib a 64 bit en netbeans (-> propiedades del proyecto -> compilador C -> opciones adicionales ) configuradas para

-shared -m64


Necesita soporte gcc multilib. Instala el paquete gcc-multilib . P.ej:

sudo apt-get install gcc-multilib


Para compilar los binarios de 32 bits en la versión de Linux de 64 bits, debe instalar el paquete de desarrollo libx32gcc y la biblioteca GNU C de 32 bits.

prueba esto

sudo apt-get install libx32gcc-4.8-dev

y

sudo apt-get install libc6-dev-i386


Para solucionar el problema, primero debemos saber qué paquete proporcionará el archivo sys / cdefs.h

En el sistema basado en CentOs / RHEL puedes encontrarlo ejecutando debajo del comando

yum provides ''*sys/cdefs.h''

Del mismo modo, en los sistemas Debian / Ubuntu puedes encontrarlo ejecutando

apt-file search ''sys/cdefs.h''

Nota: Si el paquete apt-file no está presente en el sistema, instálelo con el comando

apt-get install apt-file

Ambos comandos anteriores escanean la respectiva base de datos de sistemas de administración de paquetes, es decir, RPM / Apt, y le dice el nombre del paquete que suministra el archivo que termina con "sys / cdefs.h".

Instale el paquete apropiado de los paquetes enumerados por los comandos.
Me gusta

En CentOs / RHEL :

yum install glibc-headers

En Debian / Ubuntu

apt-get install libc6-dev

Este enfoque no solo es útil para este problema en particular, sino también para cualquier problema similar que informe que algún archivo requerido está siendo provisto por algún paquete que no está presente.