Linux 编译LVGL仿真器出错
Posted JeckXu666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 编译LVGL仿真器出错相关的知识,希望对你有一定的参考价值。
Linux 编译LVGL仿真器出错
一、错误现象
我在虚拟机下使用 LVGL 仿真器,编译仿真器源代码时发生报错
cc: error: unrecognized command line option ‘-Wshift-negative-value’
cc: error: unrecognized command line option ‘-Wshift-negative-value’
cc: error: unrecognized command line option ‘-Wshift-negative-value’
Building project file: lvgl/examples/widgets/chart/lv_example_chart_6.c
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/list/lv_example_list_1.o' failed
make: *** [build/obj/lvgl/examples/widgets/list/lv_example_list_1.o] Error 1
make: *** 正在等待未完成的任务....
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/spinner/lv_example_spinner_1.o' failed
make: *** [build/obj/lvgl/examples/widgets/spinner/lv_example_spinner_1.o] Error 1
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/led/lv_example_led_1.o' failed
make: *** [build/obj/lvgl/examples/widgets/led/lv_example_led_1.o] Error 1
cc: error: unrecognized command line option ‘-Wshift-negative-value’
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_3.o' failed
make: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_3.o] Error 1
cc: error: unrecognized command line option ‘-Wshift-negative-value’
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_2.o' failed
make: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_2.o] Error 1
cc: error: unrecognized command line option ‘-Wshift-negative-value’
cc: error: unrecognized command line option ‘-Wshift-negative-value’
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_1.o' failed
make: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_1.o] Error 1
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/checkbox/lv_example_checkbox_1.o' failed
make: *** [build/obj/lvgl/examples/widgets/checkbox/lv_example_checkbox_1.o] Error 1
cc: error: unrecognized command line option ‘-Wshift-negative-value’
Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/chart/lv_example_chart_6.o' failed
make: *** [build/obj/lvgl/examples/widgets/chart/lv_example_chart_6.o] Error 1
编译无法进行
二、错误分析
根据提示分析错误,其中 cc: error 提示报错,翻到 Makefile 一看属于 gcc 编译器
unrecognized command line option ‘-Wshift-negative-value’ 提示无法识别指令,所以分析应该是 GCC 版本的原因,可能我的版本不支持这个指令,解决的方式就是换版本,或者删掉这个指令看能不能正常运行
三、错误解决
这里我先试试删除指令再编译,先用 grep 找到指令在文件的哪一行
grep -n "\\-Wshift\\-negative\\-value" Makefile
编辑文件,删除对应指令
vim make file
保存后程序编译
编译成功,执行 demo,可以正常执行:
以上是关于Linux 编译LVGL仿真器出错的主要内容,如果未能解决你的问题,请参考以下文章
LVGL学习笔记——搭建环境模拟仿真(Linux+VS Code)
LVGL学习笔记——搭建环境模拟仿真(Linux+VS Code)
使用 Code::Blocks 搭建 LVGL 模拟器仿真环境