无法在 lex 中包含 C++ 库

Failed to include c++ librabry in lex

我正试图通过 LEX 进行一些词法分析,我想在定义字段中包含一些 c++ 库。然而,我已经尝试了几次,但总是收到此错误消息:

sample.l:2:23: fatal error: iostream: No such file or directory compilation terminated.

我的代码是这样的:

 %{ #include<iostream> void Print_input(char* yytext){ //function... } %} 

有人知道吗?提前致谢。

您正在使用 gcc 将 C++ 代码编译为 C - 请改用 g++

请注意,虽然 gcc 通常使用文件扩展名来确定语言,但即使没有 -x 选项,g++ 也会将 .c 文件编译为 C++。