Как я могу установить разные параметры компилятора для одного файла заголовка?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
Ответить

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

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

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

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

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