#cmake #compiler-errors #clang #compiler-options
#cmake #ошибки компилятора #clang #параметры компилятора
Вопрос:
В моем файле cmake мне нужно добавить диагностический флаг clang, который включает a #
, как показано в документах clang для диагностических флагов.
Однако cmake
интерпретируется #
как замечание и завершается ошибкой.
Например:
add_definitions(-W#pragma-messages)
интерпретируется как:
add_definitions(-W
Как предполагается использовать этот флаг в сценарии cmake?
Комментарии:
1. Вы уже пытались заключить аргумент в кавычки, т.е.
add_definitions("-W#pragma-messages")
2. Это работает! Я не знал, что вы можете вложить параметры, и также кажется неудобным включать знак хэша в параметр компилятора… В любом случае, пожалуйста, отправьте комментарий в качестве ответа.
Ответ №1:
В CMake все, что следует за #
символом до конца строки, рассматривается как комментарий.
Чтобы предотвратить такое поведение для ваших определений и параметров компиляции, вам необходимо указать весь аргумент целиком
add_definitions("-W#pragma-messages")