Строгая компиляция (-Werror -Wpedantic) только для файлов моего проекта на esp-idf.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Строгая компиляция (-Werror -Wpedantic) только для файлов моего проекта на esp-idf.

Сообщение Anonymous »

Я пытаюсь создать проект с помощью esp-idf, где мои файлы используют -Wpedantic, но я получаю некоторые ошибки в файлах платформы.
Это структура моего проекта:

Код: Выделить всё

.
├── CMakeLists.txt
├── main
│   ├── CMakeLists.txt
│   └── main.cpp
./CMakeLists.txt:

Код: Выделить всё

cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
project(my-project)
./main/CMakeLists.txt:

Код: Выделить всё

idf_component_register(SRCS "main.cpp"
INCLUDE_DIRS "."
PRIV_REQUIRES "lwip")

set(MY_FLAGS
"-Wall"
"-Wextra"
"-Wpedantic"
"-Werror"
"-Werror=unused-function"
"-Werror=unused-variable"
"-Werror=unused-but-set-variable"
"-Werror=deprecated-declarations"
)

target_compile_options(${COMPONENT_LIB} PRIVATE ${MY_FLAGS})
./main/main.cpp:

Код: Выделить всё

#include "esp_log.h"
#include "lwip/sockets.h"

const char *TAG = "wifi_manager";

extern "C" void app_main() {
ESP_LOGI(TAG, "Hello world");
}
Когда я компилирую проект, я получаю следующие ошибки:

Код: Выделить всё

In file included from /home/adrian/repos/stack-overflow-example/main/main.cpp:2:
/home/adrian/repos/esp-idf/components/lwip/include/lwip/sockets.h:8:2: error: #include_next is a GCC extension [-Werror]
8 | #include_next "lwip/sockets.h"
|  ^~~~~~~~~~~~
In file included from /home/adrian/repos/esp-idf/components/lwip/port/esp32xx/include/arch/cc.h:12,
from /home/adrian/repos/esp-idf/components/lwip/lwip/src/include/lwip/arch.h:48,
from /home/adrian/repos/esp-idf/components/lwip/lwip/src/include/lwip/debug.h:40,
from /home/adrian/repos/esp-idf/components/lwip/lwip/src/include/lwip/opt.h:52,
from /home/adrian/repos/esp-idf/components/lwip/lwip/src/include/lwip/sockets.h:42,
from /home/adrian/repos/esp-idf/components/lwip/include/lwip/sockets.h:8:
/home/adrian/repos/esp-idf/components/newlib/platform_include/errno.h:10:2: error: #include_next is a GCC extension [-Werror]
10 | #include_next "errno.h"
|  ^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Я ожидаю, что флаг -Wpedantic будет применяться только к моим файлам, поэтому я не получу этих ошибок

Подробнее здесь: https://stackoverflow.com/questions/790 ... on-esp-idf
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»