首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gdb编译问题yyin和lexer_init

gdb编译问题yyin和lexer_init
EN

Stack Overflow用户
提问于 2020-11-03 11:01:33
回答 1查看 275关注 0票数 2

我试图在Ubuntu18.04中编译GDB9.2,下面的错误是打印出来的。

代码语言:javascript
运行
复制
make[2]: Entering directory '/home/ata/gdb-9.2/build/gdb'
  CXX    ada-exp.o
ada-exp.y: In function ‘int ada_parse(parser_state*)’:
ada-exp.y:736:15: error: ‘yyin’ was not declared in this scope
ada-exp.y:736:15: note: suggested alternative: ‘yylen’
ada-exp.y:736:3: error: ‘lexer_init’ was not declared in this scope
ada-exp.y:736:3: note: suggested alternative: ‘pex_init’
In file included from ada-exp.y:56:0:

GDB10.1在此之前成功编译。

我在网上搜索,但找不出原因或解决办法。

可能会有什么问题?

Edit1:我有gcc version 7.5.0

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-15 07:07:06

我也面临着这个问题,我就是这样解决的:

ada-exp.y包含文件ada-lex.c,其中包含函数lexer_init的定义。

但是,如果最初没有安装flex,那么它可能会生成一个空的ada-lex.c (来自ada-lex.l)。即使您执行make clean,它也不会清除生成的ada-lex.c,也就是说,在下一个编译命令时它也将保持为空。

因此,要修复此错误,您可以删除所有这样的中间.c文件(在您的例子中,使用新的.tar.gz构建)并再次执行make。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64661573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档