Можно ли включить предварительно скомпилированные заголовки с разными флагами компиляции? - PullRequest
0 голосов
/ 27 мая 2019

Я хотел бы предварительно скомпилировать определенный большой заголовочный файл с флагами компиляции моей кодовой базы по умолчанию.Например, это будет -O3.Однако, если я хочу включить этот PCH в цель сборки, которая не хочет каких-либо оптимизаций -O0, тогда clang отклоняет это, поскольку у них есть конфликтующие предопределенные макросы.

"__OPTIMIZE__ предопределенный макрос был включен в файле PCH, нов настоящее время отключено "

Я вижу, что есть (была?) опция -fno-validate-pch, которая будет делать именно то, что я хочу, но ее нет ни в Clang 6, ни в Clang 8. https://reviews.llvm.org/D24054

В конечном счете, есть ли способ сказать clang, чтобы разрешить продолжение компиляции в этом случае?Преимущество этих предварительно скомпилированных заголовков состоит в том, что они обычно могут использоваться на сотнях целей сборки, но если определенные флаги, особенно уровень оптимизации, должны быть одинаковыми, то это исключает удобство использования и удобство.

Этобыл протестирован с Clang ++ 6.0.0 на Ubuntu 16.04.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...