我正在尝试在Visual C++中使用Flex。但是,生成的词法分析器(为空且没有规则)在构建时会引发以下错误:

configurationlexer.cpp(967): error C3861: 'read' identifier not found
configurationlexer.cpp(967): fatal error C1903: unable to recover from previous error(s); stopping compilation

源文件是:
%{
#include <string>
%}
%option yylineno

%%


%%

//Lexer End

我正在通过将此目标添加到我的Visual Studio项目中进行构建:
<Target Name="Flex" Inputs="$(MSBuildProjectDirectory)\ConfigurationLexer.l" Outputs="$(MSBuildProjectDirectory)\ConfigurationLexer.cpp;$(MSBuildProjectDirectory)\ConfigurationLexer.hpp">
  <Exec Command="C:\Cygwin\bin\flex.exe --nounistd -f -o &quot;$(MSBuildProjectDirectory)\ConfigurationLexer.cpp&quot; &quot;--header=$(MSBuildProjectDirectory)\ConfigurationLexer.hpp&quot; &quot;$(MSBuildProjectDirectory)\ConfigurationLexer.l&quot;" />
</Target>

是否可以将Flex与MSVC一起使用?

最佳答案

好吧,如果bozo that is Bill读取the documentation会有所帮助:



这导致:



我关闭了-F,现在一切正常。由于其他原因,我必须打开--never-interactive。 --always-interactive如果您需要交互式扫描仪,也可以使用....我不知道。

10-07 13:37