Я добавил все в свой $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
.
--use-analyzer
не является признанным вариантом дляscan-build
. - person chrisaycock   schedule 16.03.2013--use-analyzer
. Я все еще получаю ту же ошибку. Все равно спасибо. - person chrisaycock   schedule 26.03.2013