/usr/bin/ld: -lfl が見つかりません

/usr/bin/ld: -lfl が見つかりません

次のコマンドを実行した後:

g++ lex.yy.c -lfl

次のエラーが発生します。

/usr/bin/ld: cannot find -lfl

どうすれば解決できますか?

答え1

lex.yy.cデフォルトの出力ファイル名。lex、C(およびC ++)用の語彙アナライザプリプロセッサです。これコネクタ()は、(動的にリンクされている場合、そうでない場合は静的にリンクされている場合)、名前ldのファイルを探しています。生成された語彙アナライザに必要なランタイムライブラリ。libfl.solibfl.a柔軟、lexの実装。

lex.yy.c自分で作成した場合は、flexFlexが正しくインストールされていることを確認してください。パスに実行可能ファイルを含めることに加えて、flexライブラリ検索パスlibfl.soにおよびがあるlibfl.a場合はそれを含める必要があります(Flexがシステムパッケージで提供されているかどうかに応じてlibfl_pic.a通常/usr/libまたは)。/usr/local/libFlexが非標準の場所にある場合は、次のコマンドを使用してライブラリ検索パスを指定します-L

~/software/flex/bin/flex mylexer.l
g++ lex.yy.c -L ~/software/flex/lib -lfl

答え2

私のSciOsディストリビューションにこのパッケージをインストールすることはflex-devel.x86_64私にとって効果的でした。

関連情報