ESP-IDF: Wie man bestimmte Warnungen deaktiviert

Manchmal geben ESP-IDF-Programme viele nutzlose Warnungen aus, die du unterdrücken möchtest, damit du die Fehlermeldungen klarer sehen kannst, zum Beispiel:

suppress_warning.txt
/home/user/MyESPIDFProject/src/Network.cpp:382:1: warning: missing initializer for member 'httpd_uri::user_ctx' [-Wmissing-field-initializers]

Der erste Schritt besteht darin, zu identifizieren, welche Warnung du unterdrücken musst. Dies ist einfach, suche einfach nach dem Flag am Ende der Warnmeldung. In diesem Fall ist es -Wmissing-field-initializers. Das Flag zum Unterdrücken dieses Warnungstyps wird erhalten, indem no direkt nach -W angehängt wird: -Wno-missing-field-initializers.

Verwende nun die in ESP-IDF: Wie man benutzerdefinierte Compiler-Flags hinzufügt beschriebene Methode, um das Unterdrückungs-Flag zu deinem Projekt hinzuzufügen: Füge dies zu main/CMakeLists.txt hinzu (nicht verwechseln mit der CMakeLists.txt im Projekt-Stammverzeichnis):

main/CMakeLists.txt
# Bestimmte Warnungen unterdrücken
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-missing-field-initializers)

Ähnliche Beiträge nach Kategorie: ESP-IDF, C/C++