我已经将所有东西添加到我的$PATH
中,并根据这些答案[ 1, 2, 3 ]调整了我的SConstruct
以设置适当的环境变量。现在我运行时:
scan-build --use-c++=`which clang++` scons
构建开始了,我可以看到由scons
分叉的进程是:
/path/to/c++-analyzer ... -std=c++11 ...
目标文件成功构建,但是我遇到了一个错误:
could not find clang line
当分叉进程不包含字符串-cc1
时,c++-analyzer
会出现此错误。但是如果我检查ps aux
,我明显可以看到...
/path/to/clang -cc1 ...
这个程序为什么能够正常构建但是静态分析器会出现这样的错误?
参考资料,如果我手动运行
scan-build clang++ <parameters from scons>
那么构建成功并生成报告!
我还可以“作弊”通过添加
env["ENV"]["PATH"] = os.environ["PATH"]
然后运行
CXX="scan-build clang++" scons
我不能仅仅使用未修改的SConstruct
文件在scons
上运行scan-build
。
--use-analyzer
。但我仍然遇到了相同的错误。不过还是谢谢你。 - chrisaycock