g++
で結果のスキャナをコンパイルしようとすると、flex
というリンカエラーが発生します。私はflex
に、以下の(非常にシンプルな)スクリプトを与える場合:フレックスとg ++のリンカエラー?
%%
. ECHO;
をその後、私は次のエラーを取得
として結果のコードをコンパイルしてみてください、その後flex
flex++ scanner.l
を実行し、 :
/tmp/ccD5WdY3.o:(.rodata._ZTV11yyFlexLexer[vtable for yyFlexLexer]+0x28): undefined reference to `yyFlexLexer::yywrap()'
/usr/lib/libl.a(libmain.o): In function `main':
/build/buildd/flex-2.5.35/libmain.c:30: undefined reference to `yylex'
collect2: ld returned 1 exit status
これはなぜわかりません。間違ったライブラリで-ll
とリンクしていますか?もしそうなら、私はこれを修正するために何をすべきですか?
私はその話題にはあまりよく慣れていませんが、 'yylex'関数を提供するパーサーも必要としませんか? bison ++を使用していますか? –
Adobe Flexでこれをタグ付けしましたか? – JeffryHouser
ああ、私の間違い!一定。 – templatetypedef