Error fatal de GCC: stdio.h: No existe tal archivo o directorio

5 minutos de lectura

avatar de usuario
Julio

Estoy tratando de compilar un programa en C en OS X 10.9 con GCC 4.9 (experimental). Por alguna razón, recibo el siguiente error en tiempo de compilación:

gcc: fatal error: stdio.h: No such file or directory

Luego probé un programa simple de Hello World:

#include <stdio.h>

int main(int argc, const char *argv[])
{
    printf("Hello, world!");
    return 0;
}

De nuevo, al correr gcc -o ~/hello ~/hello.c, Tengo el mismo error. Estoy usando una versión experimental de gccpero parece inverosímil que hubiera una versión que generara errores al importar stdio. ¿Qué podría estar causando este problema y cómo se puede solucionar?

  • Puede ver dónde gcc está buscando archivos de encabezado haciendo echo "#include <bogus.h>" | gcc -v -x c - y examinar las rutas de búsqueda.

    – Christian Ternus

    25 de octubre de 2013 a las 3:53

  • ¡Comando muy útil! no parece stdio.h está en cualquiera de las rutas de búsqueda de GCC.

    – Jules

    25 de octubre de 2013 a las 3:56

  • Mavericks ya no tiene una base /usr/include. Debe vincularlo en su lugar desde XCode OS 10.9 SDK.

    – Yan Ramin

    25 de octubre de 2013 a las 3:57

  • POR CIERTO, int mainEl primer parámetro de es un int y no int *argc.

    – p0lAris

    25 de octubre de 2013 a las 3:57

  • @user2615799 Está en sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include

    – Yan Ramin

    25/10/2013 a las 15:11


avatar de usuario
amós

Mac OS

También tuve este problema (encontrado a través de los compiladores de Macports). Las versiones anteriores de Xcode le permitían instalar herramientas de línea de comandos a través de xcode/Preferencias, pero xcode5 no ofrece una opción de herramientas de línea de comandos en la GUI, por lo que asumí que ahora se incluía automáticamente. Intenta ejecutar este comando:

xcode-select --install

Si ve un mensaje de error que indica que las herramientas para desarrolladores ya están instaladas (y aún no se pueden encontrar los archivos de encabezado), elimine los existentes para realizar una instalación nueva:

sudo rm -rf /Library/Developer/CommandLineTools

ubuntu

(según esta respuesta)

sudo apt-get install libc6-dev

Linux alpino

(según este comentario)

apk add libc-dev

  • Si está utilizando Xcode 6 beta 5, este comando podría fallar. En ese caso tienes que hacer sudo xcode-select -s /Applications/Xcode.app. Cuando haya terminado, vuelva a usar sudo xcode-select -s /Applications/Xcode6-Beta5.app.

    –Sjors Provoost

    07/08/2014 a las 16:54

  • Guau. Todavía trabajando con Xcode 8.0 y Sierra en 2017.

    – usuario124384

    22 de abril de 2017 a las 15:45

  • La guía alpina es extremadamente útil para las imágenes de Docker basadas en la distribución alpina, funciona como se desea

    – VanDavv

    21 de agosto de 2018 a las 15:31

  • ¿Alguna sugerencia para los usuarios de Windows? tengo este problema en windows

    – Ratul Hasan

    24 de julio de 2020 a las 5:32

  • Para usuarios de macOS que todavía tienen problemas después de instalar CLTs stackoverflow.com/questions/63342521/…

    usuario10063119

    16 oct 2020 a las 12:48

avatar de usuario
samshel

Mac OS Mojave

La respuesta aceptada ya no funciona. Al ejecutar el comando xcode-select --install le dice que use “Actualización de software” para instalar actualizaciones.

En esto Enlace es el método actualizado:

Abra una Terminal y luego:

cd /Library/Developer/CommandLineTools/Packages/
open macOS_SDK_headers_for_macOS_10.14.pkg

Esto abrirá un asistente de instalación.

Actualización 12/2019

Después de actualizar a Mojave 10.15.1, parece que usar xcode-select --install funciona según lo previsto.

  • La reinstalación de los encabezados también funciona cuando se actualiza a Xcode 10.2.

    – Bojan Dimovski

    27 de marzo de 2019 a las 12:58

  • Cuando abro macOS_SDK_headers_for_macOS_10.14.pkg, recibo una advertencia aterradora del instalador: “Este paquete es incompatible con esta versión de macOS y es posible que no se instale”. yo tengo mojave

    –Steve Siegel

    6 de diciembre de 2019 a las 17:34

  • @SteveSiegel, ¿qué versión de Mac OS está ejecutando? Actualicé a 10.15.1 y ya no tuve que hacer esta solución. Actualicé mi respuesta para reflejar eso.

    – Samshel

    7 dic 2019 a las 19:57

  • “actualizando a Mojave 10.15.1” eso es incorrecto. @SteveSiegel El paquete está en desuso. Se debe utilizar SDKROOT. stackoverflow.com/a/63343829/10063119

    usuario10063119

    10 de agosto de 2020 a las 16:37


usuarios de ubuntu:

sudo apt-get install libc6-dev

especialmente los desarrolladores de Ruby que tienen problemas para instalar gem install json -v '1.8.2' en sus máquinas virtuales

  • Interesante. Gracias. Esta librería también resuelve algunos otros problemas. Recientemente, lo encontré tratando de ejecutar un punto de referencia para petabyet.com (que usa gcc).

    – dhaupin

    23 de agosto de 2016 a las 18:24

  • En alpine linux necesitaba apk add libc-dev

    – Shadi

    28 de enero de 2017 a las 9:29

Sé que mi caso es raro, pero aún así lo agregaré aquí para que alguien lo resuelva más adelante. Tenía un objetivo de módulo del kernel de Linux en mi Makefile e intenté compilar mi programa de espacio de usuario junto con el módulo del kernel que no tiene stdio. Hacerlo un objetivo separado resolvió el problema.

Yo tuve el mismo problema. Instalé “XCode: herramientas de desarrollo” de la tienda de aplicaciones y me solucionó el problema.

Creo que este enlace ayudará:
https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ls=1

Crédito a Yann Ramin por su consejo. Creo que hay una mejor solución con enlaces, pero esto fue fácil y rápido.

¡Buena suerte!

  • ¿Te refieres a Xcode normal? ¿O hay alguna versión especial llamada “XCode: herramientas de desarrollo”? Porque solo veo Xcode normal en la App Store. Por supuesto, esto es 4 años en el futuro desde que se publicó esta respuesta.

    – usuario124384

    22 de abril de 2017 a las 15:36

  • ¿Te refieres a Xcode normal? ¿O hay alguna versión especial llamada “XCode: herramientas de desarrollo”? Porque solo veo Xcode normal en la App Store. Por supuesto, esto es 4 años en el futuro desde que se publicó esta respuesta.

    – usuario124384

    22 de abril de 2017 a las 15:36

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad