根据pa0的指引,在pa0下第一次运行make menuconfig时,系统会作出如下回应
/home/lee/Desktop/ysyx-workbench/nemu/scripts/config.mk:5: Warning: .config does not exists!
/home/lee/Desktop/ysyx-workbench/nemu/scripts/config.mk:6: To build the project, first run 'make menuconfig'.
+ YACC build/parser.tab.h
make[1]: bison: No such file or directory
make[1]: *** [Makefile:27: build/parser.tab.h] Error 127
make: *** [/home/lee/Desktop/ysyx-workbench/nemu/scripts/config.mk:24: /home/lee/Desktop/ysyx-workbench/nemu/tools/kconfig/build/mconf] Error 2
意思就是,首先警告不存在.config文件,这个不是我们需要在意的,因为在编译之后会生成这个东西。继续往下面看,有一个error引起了我的注意:
make[1]: bison: No such file or directory
终端告诉我们,我们的文件中缺少bison这个东西。这是一个语法分析器的生成器,具体介绍建议STFW。既然是一个类似软件的存在,那么就直接apt-get吧:
sudo apt-get install bison经过简短的安装过程,我们再次运行make menuconfig,发现依旧出现error。不要急,仔细阅读以下,就会发现error发生了改变:
make[1]: flex: No such file or directory如果大家真的为了bison而去STFW的话,应该会看到某些页面提到bison是可以和flex配合使用的。那么,再次get-apt:
sudo apt-get install flex安装完成,再次make menuconfig,终端回应内容如下:
/home/lee/Desktop/ysyx-workbench/nemu/scripts/config.mk:5: Warning: .config does not exists!
/home/lee/Desktop/ysyx-workbench/nemu/scripts/config.mk:6: To build the project, first run 'make menuconfig'.
+ LEX build/lexer.lex.c
+ CC build/lexer.lex.c
+ CC build/parser.tab.c
+ CC mconf.c
+ CC lxdialog/util.c
+ CC lxdialog/checklist.c
+ CC lxdialog/inputbox.c
+ CC lxdialog/yesno.c
+ CC lxdialog/textbox.c
+ CC lxdialog/menubox.c
+ LD /home/lee/Desktop/ysyx-workbench/nemu/tools/kconfig/build/mconf
+ CC confdata.c
+ CC expr.c
+ CC preprocess.c
+ CC symbol.c
+ CC util.c
+ CC build/lexer.lex.c
+ CC build/parser.tab.c
+ CC conf.c
+ LD /home/lee/Desktop/ysyx-workbench/nemu/tools/kconfig/build/conf
+ CC fixdep.c
+ LD /home/lee/Desktop/ysyx-workbench/nemu/tools/fixdep/build/fixdep
configuration written to .config
随后弹出配置页面:
这里笔者选择使用默认值,毕竟pa0中尚未提及需要作出何种改变。
根据终端反馈可以看出,依旧存在一个warning。但是不要紧张,保存配置后,.CONFIG文件已经被创建。这时再次运行make menuconfig发现直接弹出上述弹窗,可见,问题轻松秒杀。
版权声明:本文为qianniuwei321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。