Quando é que uma nova versão do Flex para Windows estará disponível?
-
18-09-2019 - |
Pergunta
Eu estou usando Flex (analisador léxico, não Adobe Flex) em um projeto. No entanto, eu quero ser capaz de compilar em plataformas Windows, bem como, mas a versão do Windows 's versão mais recente é de apenas 2.5.4a, por isso não irá compilar meu arquivo para a versão 2.5.35. E não, eu não posso fazer o downgrade para a versão mais alta suportada do Windows.
Alguém sabe sobre os planos para atualizar a versão do Windows, ou tem uma sugestão para compilar em janelas de qualquer maneira?
Solução
Você pode perguntar na lista de discussão, ou se envolver no Flex projetar-se. Eu acho que o código-base para Flex permaneceu estática por um tempo, mas eu não sei quem mantém a porta do Windows. Nesse ínterim ...
Eu recomendaria incluindo a fonte produzido em seu projeto.
- Gerar o lexer em um sistema Linux para produzir seus arquivos lex.c / lex.h (ou qualquer outro)
- Incluir esses arquivos em sua fonte Win32 C antes de construir
Se você não tem acesso directo a um sistema Linux, uma máquina virtual pode ser uma boa idéia. A fonte Flex deve ser queixa a algum padrão C que se baseia no Windows, mas a maioria das diferenças POSIX podem ser alterados para usar Win32 API bastante facilidade.
Talvez distribuir como:
/src/source_files.c
/src/lex.l
/src/win32_lex/lex.c
Desta forma, sistemas com a Flex moderna pode gerar a fonte do arquivo lex, e sistemas Windows compilando a fonte pode usar os arquivos complementares pré-processados ??C.
Curto de usar algum espaço do usuário POSIX (Cygwin ou qualquer outro).
Um pouco de ajustes necessários, mas não é que a portabilidade para você !
Outras dicas
Windows versões do Flex 2.5.35 do existem, mas, infelizmente, eles não são auto-suficientes. Você pode baixar a construção mingw aqui , ea construção Cygwin aqui ; consulte também outra pergunta stackoverflow . Cada construção exige que o seu respectivo (mingw ou Cygwin) Kernel ser instalado.