gcc - 构建 gcc 4.6 时遇到问题 : undefined reference to `yylex'

标签 gcc makefile bison

我正在尝试构建 gcc 4.6,但我收到一些链接器错误,看起来这意味着 bison 或 flex 没有链接到。当 makefile 发出此命令时:

gcc   -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wc++-compat -fno-common  -DHAVE_CONFIG_H -DGENERATOR_FILE  -o build/gengtype \
        build/gengtype.o build/errors.o build/gengtype-lex.o build/gengtype-parse.o build/version.o ../../build-x86_64-unknown-linux-gnu/libiberty/libiberty.a

它告诉我:

/home/chris/code/gcc/trunk/host-x86_64-unknown-linux-gnu/gcc/../.././gcc/gengtype.c:960: undefined reference to `lexer_line'
... undefined reference to `yylex'
... undefined reference to `yybegin'
... undefined reference to `yyend'

我已经安装了 Flex 和 Bison,甚至尝试了几个 Bison 变体,但结果相同。有人知道这还意味着什么吗?

最佳答案

同样的情况也发生在我身上,这是由于缺乏弹性和 Bison 。安装完flex和bison后,我运行了make distclean./configure,然后它就编译好了。

关于gcc - 构建 gcc 4.6 时遇到问题 : undefined reference to `yylex' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4262531/

相关文章:

c++ - MATLAB Coder hello world 从头到尾

c - 在c中链接2个目标文件以创建可执行文件

c++ - 如果两个规则匹配,如何让 Bison 使用规则?

bison - 如何在Flex规则中引用lex或解析参数?

bison - 使 bison 使用除开始规则以外的规则开始解析

c++ - 如何确保函数在任何全局变量构造函数之前执行?

c - 是否可以在 Mac OSX 上创建 Window 或 Linux 可用的 native 库(DLL 和 SO)?

c - 创建并执行makefile:C

c - 即使包含math.h header ,为什么也会出现 “undefined reference to sqrt”错误?除了添加-lm之外,还有永久解决方案吗?

c++ - 将 MinGw 编译器集成到 Dev C++ 中