Я добавил все к моему $PATH
, и я изменил свой SConstruct
, чтобы установить соответствующие переменные среды, в соответствии с этими ответами [1, 2, 3]. Теперь, когда я запускаю
scan-build --use-c++=`which clang++` scons
начинается сборка, и я вижу, что процесс, раздвоенный scons
, есть
/path/to/c++-analyzer ... -std=c++11 ...
Объектный файл успешно строит, но затем я получаю сообщение об ошибке:
could not find clang line
Эта ошибка возникает в c++-analyzer
, когда разветвленный процесс не содержит строку -cc1
. Но если я проверю ps aux
, я ясно вижу
/path/to/clang -cc1 ...
Каким образом программа могла бы работать правильно, но статический анализатор потерпит неудачу?
Для справки, если я запускаю вручную
scan-build clang++ <parameters from scons>
тогда сборка завершается успешно и создается отчет!
Я также могу "обмануть", добавив
env["ENV"]["PATH"] = os.environ["PATH"]
а затем запустите
CXX="scan-build clang++" scons
Я просто не могу запустить scan-build
на scons
сам с немодифицированным SConstruct
.