17
我有一個使用SCons構建的項目,我試圖使用Clang Static Analyzer來分析代碼。但是,在運行時我怎樣才能讓Clang的「scan-build」與SCons一起工作?
scan-build scons
SCons似乎忽略了由scan-build
引入的設置。我該如何做這項工作?
我有一個使用SCons構建的項目,我試圖使用Clang Static Analyzer來分析代碼。但是,在運行時我怎樣才能讓Clang的「scan-build」與SCons一起工作?
scan-build scons
SCons似乎忽略了由scan-build
引入的設置。我該如何做這項工作?
scan-build
的工作方式是設置各種環境變量,這些變量通常由構建系統(例如make
)用來控制構建如何發生。其中一些是:
CC
- 程序使用的C編譯器CXX
的名字 - 程序的名稱爲C++編譯器使用CCC_*
- 控制鏘的靜態分析儀的行爲的各種環境變量SCons通常在運行構建之前清除環境(這是一項功能)。爲了使上述環境變量生效,做這樣的事情在SConstruct
:
env = Environment()
env["CC"] = os.getenv("CC") or env["CC"]
env["CXX"] = os.getenv("CXX") or env["CXX"]
env["ENV"].update(x for x in os.environ.items() if x[0].startswith("CCC_"))
我想補充一點,你應該在更大的SConstruct文件用grep的「環境」,找到其中最後三行應該去。 – 2017-02-10 10:25:43