Clang удалить -internal-extern c -isystem из include serach path - PullRequest
0 голосов
/ 31 января 2020

Я пытаюсь создать проект веб-сборки c ++ CMAKE с использованием последней версии emscripten. Во время сборки я заметил, что clang включает в себя каталоги, которые НЕ ДОЛЖНЫ быть включены, т.е. из команды компиляции я вижу эти флаги:

-internal-externc-isystem /usr/include/x86_64-linux-gnu 
-internal-externc-isystem /include 
-internal-externc-isystem /usr/include 

отсюда https://gist.github.com/masuidrive/5231110

-internal-extern c -isystem

Добавить каталог во внутреннюю систему, включая путь поиска с неявной семантикой extern "C"; предполагается, что они не предоставлены пользователем и используются для моделирования путей к системным и стандартным заголовкам.

Поскольку эти каталоги не должны быть в моем пути поиска включения, они действительно являются причиной ошибки , мой вопрос, есть ли директива CMAKE, которая говорит clang удалить / удалить любую "internal-extern c -isystem" или все из них. Или, может быть, флажок лязг или способ исключить их из пути включения. Суть в том, что я не делаю то, что указано в моем поисковом пути.

emscripten version  (deaa7e4bfd79246f02f785c8f2174d1e74ab6c00) 
clang  version 10.0.0 (/b/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project 06cfcdcca7de9c88a1e885eff0d0c4c07090ad48)
...