Ich habe hinzugefügt, alles zu meiner $PATH
und ich habe meine SConstruct
gezwickt die entsprechenden Umgebungsvariablen zu setzen, wie pro diese Antworten [1, 2, 3]. Nun, wenn ichMit Clang der Scan-Aufbau mit scons und C++ 11
scan-build --use-c++=`which clang++` scons
die Build laufen beginnt, und ich kann das Verfahren durch scons
ist
/path/to/c++-analyzer ... -std=c++11 ...
Die Objektdatei erfolgreich erstellt, aber dann bekomme ich einen Fehler gegabelt sehen:
could not find clang line
Dieser Fehler tritt in c++-analyzer
auf, wenn der gegabelte Prozess die Zeichenfolge -cc1
nicht enthält. Aber wenn ich ps aux
überprüfen, ich sehe deutlich
/path/to/clang -cc1 ...
Wie kann das Programm baut richtig, aber der statische Analysator nicht so?
Für Referenz, wenn ich manuell ausführen
scan-build clang++ <parameters from scons>
dann wird die Build erfolgreich und der Bericht erstellt!
Ich kann auch "betrügen" durch Zugabe von
env["ENV"]["PATH"] = os.environ["PATH"]
und dann
CXX="scan-build clang++" scons
läuft Ich kann einfach nicht laufen scan-build
auf scons
selbst mit einem unmodifizierten SConstruct
.
Ihre Frage wird in der ersten verknüpften Antwort beantwortet: "SCons reinigt normalerweise die Umgebung, bevor ein Build ausgeführt wird (dies ist eine Funktion)." –
@ Industrial-Antidepressivum Ich verwende bereits die Umgebungsvariablen, die Greg vorschlägt. Ich kann * via Clang und SCons einfach aufbauen *; Ich kann den * statischen Analysator * nicht ausführen. – chrisaycock
Hmm, versuch es mit scan-build --use-analyzer =/path/to/clang –