【发布时间】:2018-05-04 09:34:30
【问题描述】:
我正在尝试从 Windows 上的 Github 执行 FLEX 程序,并且我已经安装了 Flex 和 MingW 编译器。
我在下面添加了环境变量的路径
- C:\MinGW\bin
- C:\MinGW\msys\1.0\bin
之后,我尝试执行make 命令并得到以下输出
g++ -g -Wall -ansi -pedantic -std=gnu++0x bison.o lex.o main.o -o mini_lang -lfl
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../../mingw32/bin/ld.exe: cannot find -lfl
collect2.exe: error: ld returned 1 exit status
make: *** [mini_lang] Error 1
下面是Makefile
OBJ = bison.o lex.o main.o
CC = g++
CFLAGS = -g -Wall -ansi -pedantic -std=gnu++0x
mini_lang:$(OBJ)
$(CC) $(CFLAGS) $(OBJ) -o mini_lang -lfl
lex.o: lex.c
$(CC) $(CFLAGS) -c lex.c -o lex.o
lex.c: lex_final.l
flex lex_final.l
cp lex.yy.c lex.c
bison.o: bison.c
$(CC) $(CFLAGS) -c bison.c -o bison.o
bison.c: grammar.y
bison -d -v grammar.y
cp grammar.tab.c bison.c
cmp -s grammar.tab.h tok.h || cp grammar.tab.h tok.h
main.o: main.cc
$(CC) $(CFLAGS) -c main.cc -o main.o
lex.o yac.o main.o: headers.h
lex.o main.o: tok.h
clean:
rm -f *.o *~ lex.c lex.yy.c bison.c tok.h grammar.tab.c grammar.tab.h grammar.output mini_lang
请问,谁能帮我解决这个错误?
【问题讨论】:
标签: c++ windows gcc makefile flex-lexer