Lösung für den Fehler beim Kompilieren des LVGL-Emulators unter Linux

Lösung für den Fehler beim Kompilieren des LVGL-Emulators unter Linux

1. Fehlerphänomen

Ich verwende den LVGL-Emulator in einer virtuellen Maschine und beim Kompilieren des Emulator-Quellcodes tritt ein Fehler auf

 cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
Projektdatei erstellen: lvgl/examples/widgets/chart/lv_example_chart_6.c
Makefile:45: Rezept für Ziel 'build/obj/lvgl/examples/widgets/list/lv_example_list_1.o' ist fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/list/lv_example_list_1.o] Fehler 1
make: *** Warte auf unerledigte Aufgaben....
Makefile:45: Rezept für Ziel 'build/obj/lvgl/examples/widgets/spinner/lv_example_spinner_1.o' ist fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/spinner/lv_example_spinner_1.o] Fehler 1
Makefile:45: Rezept für Ziel „build/obj/lvgl/examples/widgets/led/lv_example_led_1.o“ ist fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/led/lv_example_led_1.o] Fehler 1
cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
Makefile:45: Rezept für Ziel 'build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_3.o' fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_3.o] Fehler 1
cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
Makefile:45: Rezept für Ziel „build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_2.o“ ist fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_2.o] Fehler 1
cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
Makefile:45: Rezept für Ziel 'build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_1.o' fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/textarea/lv_example_textarea_1.o] Fehler 1
Makefile:45: Rezept für Ziel „build/obj/lvgl/examples/widgets/checkbox/lv_example_checkbox_1.o“ ist fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/checkbox/lv_example_checkbox_1.o] Fehler 1
cc: Fehler: Nicht erkannte Befehlszeilenoption „-Wshift-negative-value“
Makefile:45: Rezept für Ziel 'build/obj/lvgl/examples/widgets/chart/lv_example_chart_6.o' ist fehlgeschlagen
make: *** [build/obj/lvgl/examples/widgets/chart/lv_example_chart_6.o] Fehler 1
Die Kompilierung kann nicht fortgesetzt werden

2. Fehleranalyse

Analysieren Sie den Fehler anhand der Eingabeaufforderungen. Der Fehler cc: weist auf einen Fehler hin. Gehen Sie zum Makefile und stellen Sie fest, dass es zum gcc-Compiler gehört.

20220104214639

Die nicht erkannte Befehlszeilenoption „-Wshift-negative-value“ weist darauf hin, dass der Befehl nicht erkannt werden kann. Die Analyse sollte daher an der GCC-Version liegen. Vielleicht unterstützt meine Version diesen Befehl nicht. Die Lösung besteht darin, die Version zu ändern oder diesen Befehl zu löschen, um zu prüfen, ob er normal ausgeführt werden kann.

3. Fehlerbehebung

Hier werde ich versuchen, den Befehl zu löschen und dann zu kompilieren. Verwenden Sie zuerst grep, um herauszufinden, in welcher Zeile der Datei sich der Befehl befindet

 grep -n "\-Wshift\-negative\-value" Makefile

20220104215405

Bearbeiten Sie die Datei und löschen Sie die entsprechenden Anweisungen

 Vim-Make-Datei 

20220104215518

Speichern und kompilieren Sie das Programm

20220104215531

Die Kompilierung ist erfolgreich und die Demo kann normal ausgeführt werden:

20220104215607

Dies ist das Ende dieses Artikels zur Lösung des Fehlerproblems beim Kompilieren des LVGL-Emulators unter Linux. Weitere relevante Inhalte zum Linux-LVGL-Emulatorfehler finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den verwandten Artikeln unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So erstellen Sie einen unabhängigen Android-Emulator
  • So erstellen Sie schnell einen Android-Emulator
  • Detaillierte Installationsschritte des LVGL-PC-Emulators

<<:  Geschickte Nutzung von WebKit-Box-Reflect zur Erzielung verschiedener dynamischer Effekte (Zusammenfassung)

>>:  So erzwingen Sie die vertikale Anzeige auf mobilen Seiten

Artikel empfehlen

So fügen Sie einem laufenden Docker-Container dynamisch ein Volume hinzu

Jemand hat mich schon einmal gefragt, ob es mögli...

Tipps zur Kurzschrift in JavaScript

Inhaltsverzeichnis 1. Arrays zusammenführen 2. Ar...

Bringen Sie Ihnen bei, wie Sie die rekursive Methode von MySQL8 verwenden

Ich habe zuvor einen Artikel über rekursive Abfra...

CentOS 8-Installationsdiagramm (superdetailliertes Tutorial)

CentOS 8 ist offiziell veröffentlicht! CentOS ent...

Beispiel für das Einrichten einer Whitelist in Nginx mithilfe des Geomoduls

Ursprüngliche Konfiguration: http { ...... Verbin...

Detaillierte Erläuterung der Reihenfolge der JS-Objektdurchquerung

Einige von Ihnen haben vielleicht gehört, dass di...

Vue + Spring Boot realisiert die Bestätigungscodefunktion

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erläuterung der praktischen Anwendung der Centos7 ESXi6.7-Vorlage

1. Erstellen Sie ein Centos7.6-System und optimie...

Docker-Installations- und Konfigurationsschritte für MySQL

Inhaltsverzeichnis Vorwort Umfeld Installieren Er...

Grundlegende Hinweise zu HTML und CSS (unbedingt für das Frontend lesen)

Als ich zum ersten Mal mit HTML in Berührung kam,...

NestJs verwendet Mongoose zum Betrieb von MongoDB

Ich habe vor Kurzem angefangen, das NestJs-Framew...

Zusammenfassung der Lastausgleichsmethoden von Nginx

Um den Lastenausgleich zu verstehen, müssen Sie s...