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 で使用することはできますか?