Cuando va a una versión más reciente de flex para windows estará disponible?

StackOverflow https://stackoverflow.com/questions/1148329

  •  18-09-2019
  •  | 
  •  

Pregunta

Estoy usando flex (analizador léxico, no Adobe Flex) en un proyecto.Sin embargo, quiero ser capaz de compilar en las plataformas Windows, pero el La versión de Windows's versión más reciente es sólo 2.5.4 una, así que no lo puedo compilar mi archivo para la versión 2.5.35.Y no, yo no puedo bajar a la más alta respaldó la versión de Windows.

Alguien sabe acerca de los planes para actualizar la versión de windows, o tiene una sugerencia para compilar en windows, de todos modos?

¿Fue útil?

Solución

Usted puede preguntar en la lista de correo, o participar en el proyecto de Flex a ti mismo.Creo que la base de código para Flex ha permanecido estático durante un tiempo, pero no sé quién mantiene el puerto de Windows.En el ínterin...

Yo recomendaría incluyendo el producido de la fuente en su proyecto.

  1. Generar el analizador léxico en un sistema Linux para producir su lex.c/lex.h archivos (o lo que sea)
  2. Incluir los archivos en su Win32 fuente de C antes de construir

Si usted no tiene acceso directo a un sistema Linux en una máquina virtual podría ser una buena idea.El Flex de la fuente debe se queja un poco de C estándar que se basa en Windows, pero la mayoría de las POSIX diferencias pueden ser modificadas para el uso de la API de Win32 bastante facilidad.

Tal vez distribuir como:

/src/source_files.c
/src/lex.l
/src/win32_lex/lex.c

De esta manera los sistemas de con un moderno flex puede generar la fuente de la lex archivo, y los sistemas de Windows de la compilación de la fuente puede utilizar el complemento de pre-procesado C archivos.

Corto de la utilización de algún espacio de usuario POSIX (Cygwin o lo que sea).

Un poco de los ajustes necesarios, pero no es que la portabilidad para usted!

Otros consejos

Windows construye de flexión 05/02/35 hacer existen, pero por desgracia no son independientes. Puede descargar el Mingw construir aquí , y la construcción de Cygwin aquí ; ver también otra pregunta StackOverflow . Cada generación necesita que se instale su respectivo núcleo (MinGW o Cygwin).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top