Estoy usando bison & flex (descargado a través de cygwin) con vC++. Cuando compilo el programa me dio un error:unistd.h dificultad relacionada al compilar el programa bison & flex en vC++
...: fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
El código correspondiente en el archivo generado por el flex es:
#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 defino YY_NO_UNISTD_H en el archivo flex (.l) Este error desaparecer, pero tengo varios otros errores:
...: error C2447: '{' : missing function header (old-style formal list?)
...: warning C4018: '<' : signed/unsigned mismatch
...: error C3861: 'isatty': identifier not found
¿Cómo puedo solucionar este problema?
Todos estos errores ocurren en el escáner generado por flex.
Sé que es porque unistd.h no existe en Windows. ¿Debo escribir mi propio unistd.h? Si es así, ¿cómo escribirlo para eliminar esos errores?
tenido un problema similar con exactamente esa versión – Greg