我已經添加了一切,我$PATH
和我調整SConstruct
設置適當的環境變量,按照這些答案[1,2,3。現在,當我運行使用鏘的掃描建立與scons的和C++ 11
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
我只是不能scons
本身運行scan-build
與未修改SConstruct
。
您的問題在第一個鏈接的答案中得到了回答:「SCons通常在運行構建之前清除環境(這是一項功能)。」 –
@工業抗抑鬱藥我已經使用Greg建議的環境變量。我可以*通過Clang和SCons構建*很好;我無法運行* static analyzer *。 – chrisaycock
嗯,嘗試使用scan-build --use-analyzer =/path/to/clang –