Estoy intentando 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;
}
Nuevamente, al ejecutar gcc -o ~/hello ~/hello.c
, obtuve el mismo error. Estoy usando una versión experimental de gcc
, pero no parece plausible que haya una versión que genere errores al importar stdio
. ¿Qué podría estar causando este problema y cómo se puede solucionar?
echo "#include <bogus.h>" | gcc -v -x c -
y examinando las rutas de búsqueda.stdio.h
en ninguna de las rutas de búsqueda de GCC.int main
el primer parámetro es un int y no un int * argc.sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
Respuestas:
Mac OS X
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 comando a través de xcode / Preferences, pero xcode5 no ofrece una opción de herramientas de línea de comando en la GUI, así que asumí que ahora se incluía automáticamente. Intente ejecutar este comando:
Ubuntu
(según esta respuesta )
Linux alpino
(según este comentario )
fuente
sudo xcode-select -s /Applications/Xcode.app
. Cuando haya terminado, vuelva a usarsudo xcode-select -s /Applications/Xcode6-Beta5.app
.Mac OS Mojave
La respuesta aceptada ya no funciona. Al ejecutar el comando,
xcode-select --install
le indica que utilice "Actualización de software" para instalar actualizaciones.En este enlace está 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 el uso
xcode-select --install
funciona según lo previsto.fuente
usuarios de ubuntu:
sudo apt-get install libc6-dev
especialmente los desarrolladores ruby que tienen problemas para instalar
gem install json -v '1.8.2'
en sus máquinas virtualesfuente
apk add libc-dev
Yo tuve el mismo problema. Instalé "XCode: herramientas de desarrollo" de la tienda de aplicaciones y solucionó el problema.
Creo que este enlace ayudará: https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ls=1
Gracias a Yann Ramin por su consejo. Creo que hay una mejor solución con enlaces, pero fue fácil y rápido.
¡Buena suerte!
fuente
Sé que mi caso es raro, pero lo agregaré aquí para alguien que lo solucione más tarde. Tenía un destino de módulo de kernel de Linux en mi Makefile e intenté compilar mi programa de espacio de usuario junto con el módulo de kernel que no tiene stdio. Convertirlo en un objetivo separado resolvió el problema.
fuente