J'essaye de compiler un programme en C sur OS X 10.9 avec GCC 4.9 (expérimental). Pour une raison quelconque, j'obtiens l'erreur suivante au moment de la compilation:
gcc: fatal error: stdio.h: No such file or directory
J'ai ensuite essayé un programme simple Hello World:
#include <stdio.h>
int main(int argc, const char *argv[])
{
printf("Hello, world!");
return 0;
}
Encore une fois, en courant gcc -o ~/hello ~/hello.c
, j'ai eu la même erreur. J'utilise une version expérimentale de gcc
, mais il semble peu plausible qu'une version génère des erreurs lors de l'importation stdio
. Qu'est-ce qui pourrait causer ce problème et comment le résoudre?
echo "#include <bogus.h>" | gcc -v -x c -
et en examinant les chemins de recherche.stdio.h
à aucun des chemins de recherche de GCC.int main
le premier paramètre de est un int et non un int * argc.sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include /usr/include
Réponses:
Mac OS X
J'ai eu ce problème aussi (rencontré via les compilateurs Macports). Les versions précédentes de Xcode vous permettaient d'installer des outils de ligne de commande via xcode / Preferences, mais xcode5 ne donne pas d'option d'outils de ligne de commande dans l'interface graphique, donc j'ai supposé qu'il était automatiquement inclus maintenant. Essayez d'exécuter cette commande:
Ubuntu
(selon cette réponse )
Alpine Linux
(selon ce commentaire )
la source
sudo xcode-select -s /Applications/Xcode.app
. Lorsque vous avez terminé, revenez en utilisantsudo xcode-select -s /Applications/Xcode6-Beta5.app
.Mac OS Mojave
La réponse acceptée ne fonctionne plus. Lors de l'exécution de la commande,
xcode-select --install
il vous indique d'utiliser "Mise à jour logicielle" pour installer les mises à jour.Dans ce lien se trouve la méthode mise à jour:
Ouvrez un terminal puis:
cd /Library/Developer/CommandLineTools/Packages/ open macOS_SDK_headers_for_macOS_10.14.pkg
Cela ouvrira un assistant d'installation.
Mise à jour 12/2019
Après la mise à jour vers Mojave 10.15.1, il semble que l'utilisation
xcode-select --install
fonctionne comme prévu.la source
utilisateurs ubuntu:
sudo apt-get install libc6-dev
spécialement les développeurs ruby qui ont des problèmes d'installation
gem install json -v '1.8.2'
sur leurs VMla source
apk add libc-dev
J'ai eu le même problème. J'ai installé "XCode: outils de développement" à partir de l'App Store et cela a résolu le problème pour moi.
Je pense que ce lien aidera: https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ls=1
Merci à Yann Ramin pour ses conseils. Je pense qu'il existe une meilleure solution avec des liens, mais cela a été facile et rapide.
Bonne chance!
la source
Je sais que mon cas est rare, mais je l'ajouterai toujours ici pour quelqu'un qui le résoudra plus tard. J'avais une cible de module Linux Kernel dans mon Makefile et j'ai essayé de compiler mon programme d'espace utilisateur avec le module noyau qui n'a pas stdio. En faire une cible distincte a résolu le problème.
la source