• 締切済み

YaccとLex

macのターミナルでYaccとLexのプログラムを実行しようと思っています。Yaccプログラム(ren.y)は bison -y ren.y の後 gcc y.tab.c -ly -o a.exe の後更に ./a.exe でしっかり実行できます。しかし、YaccとLexのプログラム(Yaccプログラムはren1.y、Lexプログラムはren2.l)において、bison -dv -y ren1.y の後、flex -l ren2.l までのコンパイルはできるのですが、gcc y.tab.c lex.yy.c -ly -lfl -lm -o a でコンパイルリンクしようとすると、 ld: library not found for -lfl clang: error: linker command failed with exit code 1 (use -v to see invocation) と表示されエラーが生じてしまいます。 macにはXcodeもインストールしてあります。 どうしてy.tab.cとlex.yy.cのコンパイルリンクと実行プログラムaの作成に失敗するのでしょうか?

みんなの回答

回答No.1

> どうしてy.tab.cとlex.yy.cのコンパイルリンクと実行プログラムaの作成に失敗するのでしょうか?  →ld: library not found for -lfl   原因:flexのライブラリなんて無いよ!   原因2:いろいろと賞味期限切れ   対策:ライブラリの指定を削除する。     × gcc y.tab.c lex.yy.c -ly -lfl -lm -o a     △ gcc y.tab.c lex.yy.c

関連するQ&A