web-dev-qa-db-fra.com

Impossible d'ouvrir le fichier inclus: 'unistd.h': aucun fichier ou répertoire de ce type

Après avoir installé libpng sur mon ordinateur, je l'ai inclus dans mon projet en utilisant #include <png.h> sur une plateforme Windows 7 SP1 et à l'aide de Visual Studio Ultimate 2013.

Mais au moment de la construction, j'obtiens cette erreur:

C1083: Impossible d'ouvrir le fichier inclus: 'unistd.h': Aucun fichier ou répertoire de ce type

Comment puis-je résoudre ce problème? Je n'ai pas encore trouvé de solution sur le net?

20
user3471387

Le "uni" dans unistd signifie "UNIX" - vous ne le trouverez pas sur un système Windows.

Les bibliothèques portables les plus largement utilisées devraient proposer des versions alternatives ou détecter la plate-forme et n'essayer que d'utiliser les en-têtes/fonctions qui seront fournis, il vaut donc la peine de vérifier la documentation pour voir si vous avez manqué une étape de construction - par exemple peut-être en exécutant "make" au lieu de charger un fichier de solution Visual C++ ".sln".

Si vous devez le réparer vous-même, supprimez l'inclusion et voyez quelles fonctions sont réellement nécessaires, puis essayez de trouver un équivalent Windows.

29
Tony Delroy

Si vous utilisez ZLib dans votre projet, vous devez trouver:

#if 1

dans zconf.h et remplacez (décommentez) par:

#if HAVE_UNISTD_H /* ...the rest of the line

Si ce n'est pas ZLib, je suppose que vous devriez trouver un autre moyen de le faire. GL.

24
Grokking