Как я могу установить разные параметры компилятора для одного файла заголовка?C++

Программы на C++. Форум разработчиков
Anonymous
Как я могу установить разные параметры компилятора для одного файла заголовка?

Сообщение Anonymous »

У меня есть файл cmake со следующими флагами компиляции < /p>

set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} \
-fPIC -Wall -pedantic -Wextra -Werror \
-Wno-missing-braces -Wno-unused-variable \
-Wno-ignored-qualifiers -fdiagnostics-color")
< /code>

Я хочу опустить опцию -wextra для одного файла заголовка; /externals/include/foo.hpp (это сторонняя библиотека только для заголовка и дает ошибку: [-werror = неиспользованный параметр] при составлении). < /p>

Я пробовал set_source_files_properties < /code> Как это < /p>

set_source_files_properties(${EXTERNALS_SOURCE_DIR}/foo.hpp PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -Wno-extra")
< /code>

Но не может избавиться от ошибки компиляции. < /p>

Есть ли способ сделать это либо в Cmake, либо с использованием #pragmas в самом файле заголовка? the error:
  • Create a file foo_wrapper.hpp.
  • Add _pragma to ignore the trouble maker compilation flag
  • Use the wrapper header everywhere in the project instead of the actual header.
`// в файле foo_wrapper.hpp: < /p>

_Pragma("GCC diagnostic push")

_Pragma("GCC diagnostic ignored \"-Wunused-parameter\"")

#include "foo.hpp"

_Pragma("GCC diagnostic pop")
< /code>

`< /p>

Подробнее здесь: https://stackoverflow.com/questions/605 ... eader-file

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