ESP-IDF: Wie man bestimmte Warnungen deaktiviert

Manchmal geben ESP-IDF-Programme viele nutzlose Warnungen aus, die Sie unterdrücken möchten, damit Sie die Fehlermeldungen klarer sehen können, 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 Sie unterdrücken müssen. Dies ist einfach, suchen Sie 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.

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

main/CMakeLists.txt
# Suppress specific warnings
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-missing-field-initializers)

Check out similar posts by category: ESP-IDF, C/C++