Ich bin bison & flex (über Cygwin heruntergeladen) mit VC++. Wenn ich das Programm kompilieren bekam ich einen Fehler:Unistd.h verwandte Schwierigkeit beim Kompilieren von Bison & Flex-Programm unter VC++
...: fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
Der entsprechende Code in der Flex-generierte Datei ist:
#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
Wenn ich YY_NO_UNISTD_H in der Flex-Datei (.l) dieser Fehler definieren verschwinden, aber ich bekomme mehrere andere Fehler:
...: error C2447: '{' : missing function header (old-style formal list?)
...: warning C4018: '<' : signed/unsigned mismatch
...: error C3861: 'isatty': identifier not found
Wie kann ich dieses Problem beheben?
Alle diese Fehler treten im Flex-generierten Scanner auf.
Ich weiß, es ist, weil unistd.h nicht in Windows existiert. Muss ich mein eigenes unistd.h schreiben? Wenn ja, wie schreibe ich es, um diese Fehler zu beseitigen?
hatte ein ähnliches Problem zu hacken genau diese Version – Greg