私のプログラムは Linux マシンでは正常に動作しますが、IBM でコンパイルすると動作yy_scan_string
しません。宣言または定義する必要がありますyy_scan_string
か?
File : "file.l"
%{
#nclude <iostream>
#include <cstring>
bool st = false;
%}
%%
.([.][fF][1-9][0-9][Kk])$ { st = true; }
. { st = false; }
%%
int main()
{
const char *fName = "check.f9k";
char *elem = new char[strlen(fName) + 1];
sprintf(elem, "%s\n", fName);
yy_scan_string(elem);
yylex();
std::cout<<"\n ST : "<<st<<"\n";
return 0;
}
int yywrap() { return 1; }
コンパイル:
lex file.l
g++ -o outfile lex.yy.c -ll
lex.yy.c: In function 'int main()': lex.yy.c:131: error: 'yy_scan_string' was not declared in this scope
IBM マシンでこのエラーを解決するにはどうすればよいですか?