我正在尝试在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 "$(MSBuildProjectDirectory)\ConfigurationLexer.cpp" "--header=$(MSBuildProjectDirectory)\ConfigurationLexer.hpp" "$(MSBuildProjectDirectory)\ConfigurationLexer.l"" />
</Target>
是否可以将Flex与MSVC一起使用?
最佳答案
好吧,如果bozo that is Bill读取the documentation会有所帮助:
这导致:
我关闭了-F,现在一切正常。由于其他原因,我必须打开--never-interactive。 --always-interactive如果您需要交互式扫描仪,也可以使用....我不知道。