一、错误现象我在虚拟机下使用 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.cMakefile:45: recipe for target 'build/obj/lvgl/examples/widgets/list/lv_example_list_1.o' failedmake: *** [build/obj/lvgl/examples/widgets/list/lv_example_list_1.o] Error 1make: *** 正在等待未完成的任务....Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/spinner/lv_example_spinner_1.o' failedmake: *** [build/obj/lvgl/examples/widgets/spinner/lv_example_spinner_1.o] Error 1Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/led/lv_example_led_1.o' failedmake: *** [build/obj/lvgl/examples/widgets/led/lv_example_led_1.o] Error 1cc: error: unrecognized command line option ‘-Wshift-negative-value'Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_3.o' failedmake: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_3.o] Error 1cc: error: unrecognized command line option ‘-Wshift-negative-value'Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_2.o' failedmake: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_2.o] Error 1cc: 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' failedmake: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_1.o] Error 1Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/checkbox/lv_example_checkbox_1.o' failedmake: *** [build/obj/lvgl/examples/widgets/checkbox/lv_example_checkbox_1.o] Error 1cc: error: unrecognized command line option ‘-Wshift-negative-value'Makefile:45: recipe for target 'build/obj/lvgl/examples/widgets/chart/lv_example_chart_6.o' failedmake: *** [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 
编辑文件,删除对应指令 
保存后程序编译 
编译成功,执行 demo,可以正常执行: 
下载地址: 安装tomcat后可能出现的问题介绍 Linux和GNU系统的关系详解 |