J'utilise bison & flex (téléchargé via cygwin) avec vC++. Quand je compile le programme que je suis une erreur:difficulté liée à unistd.h lors de la compilation bison & programme flex sous vC++
...: fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
Le code correspondant dans le fichier flex généré est:
#ifndef YY_NO_UNISTD_H
/* Special case for "unistd.h", since it is non-ANSI. We include it way
* down here because we want the user's section 1 to have been scanned first.
* The user has a chance to override it with an option.
*/
/* %if-c-only */
#include <unistd.h>
/* %endif */
/* %if-c++-only */
/* %endif */
#endif
Si je définis YY_NO_UNISTD_H dans le fichier flex (de .L) cette erreur disparaissent, mais je reçois plusieurs autres erreurs:
...: error C2447: '{' : missing function header (old-style formal list?)
...: warning C4018: '<' : signed/unsigned mismatch
...: error C3861: 'isatty': identifier not found
Comment puis-je résoudre ce problème?
Toutes ces erreurs se produisent dans le scanner généré par flex.
Je sais que c'est parce que unistd.h n'existe pas dans Windows. Dois-je écrire mon propre unistd.h? Si oui, comment l'écrire pour éliminer ces erreurs?
eu un problème similaire avec exactement cette version – Greg