127 votes

Erreur fatale GCC : stdio.h : Aucun fichier ou dossier de ce type

Je suis en train de compiler un programme en C sur OS X 10.9 avec GCC 4.9 (expérimental). Pour une raison quelconque, je reçois l'erreur suivante lors de la compilation :

gcc: erreur fatale: stdio.h: Aucun fichier ou dossier de ce type

J'ai alors essayé un simple programme Hello World :

#include 

int main(int argc, const char *argv[])
{
    printf("Bonjour tout le monde !");
    return 0;
}

Encore une fois, en exécutant gcc -o ~/hello ~/hello.c, j'ai obtenu la même erreur. J'utilise une version expérimentale de gcc, mais il semble improbable qu'il y ait une version qui génère des erreurs lors de l'importation de stdio. Qu'est-ce qui pourrait causer ce problème, et comment peut-il être résolu ?

212voto

amos Points 534

macOS

J'ai également rencontré ce problème (rencontré à travers les compilateurs Macports). Les versions précédentes de Xcode permettaient d'installer les outils en ligne de commande via xcode/Préférences, mais xcode5 ne donne pas d'option d'outils en ligne de commande dans l'interface graphique, j'ai donc supposé que c'était automatiquement inclus maintenant. Essayez d'exécuter cette commande :

xcode-select --install

Si vous voyez un message d'erreur indiquant que les outils de développement sont déjà installés (et que les fichiers d'en-tête ne peuvent toujours pas être trouvés), supprimez tout ce qui existe déjà pour une nouvelle installation :

sudo rm -rf /Library/Developer/CommandLineTools

Ubuntu

(comme indiqué dans cette réponse)

sudo apt-get install libc6-dev

Alpine Linux

_(comme indiqué dans ce commentaire)_

apk add libc-dev

47voto

Samshel Points 531

Mac OS Mojave

La réponse acceptée ne fonctionne plus. Lors de l'exécution de la commande xcode-select --install, il vous demande d'utiliser "Mise à jour logicielle" pour installer les mises à jour.

Dans ce lien, voici 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 de xcode-select --install fonctionne comme prévu.

31voto

equivalent8 Points 2009

Sous Ubuntu :

sudo apt-get install libc6-dev

spécialement les développeurs Ruby qui rencontrent des problèmes lors de l'installation de gem install json -v '1.8.2' sur leurs machines virtuelles

4voto

Soid Points 507

Je sais que mon cas est rare, mais je vais quand même l'ajouter ici pour quelqu'un qui le dépanne plus tard. J'avais une cible de module noyau Linux dans mon Makefile et j'ai essayé de compiler mon programme espace utilisateur avec le module noyau qui n'a pas stdio. Le fait d'en faire une cible séparée a résolu le problème.

2voto

nevieandphil Points 131

J'avais le même problème. J'ai installé "XCode: development tools" depuis l'app store et cela a résolu le problème pour moi.

Je pense que ce lien vous aidera : https://itunes.apple.com/us/app/xcode/id497799835?mt=12&ls=1

Crédit à Yann Ramin pour ses conseils. Je pense qu'il y a une meilleure solution avec des liens, mais c'était facile et rapide.

Bonne chance!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X