2009-09-17 8 views
11

Wenn gcc mit -fprofile-arcs und -ftest-coverage verwendet wird, wird beim Exportieren der resultierenden ausführbaren Datei versucht, gcda-Ausgabedateien am selben Speicherort wie die O-Dateien zu erstellen, die zum Kompilieren der ausführbaren Datei verwendet wurden. Das ist unpraktisch, wenn ich auf einem anderen Rechner laufe als auf dem, auf dem ich gebaut habe. Gibt es eine Möglichkeit, dieses Verhalten zu ändern?Kann gcc/gcov ausgegeben werden, um Coverage-Statistiken an einen anderen Ort als den Quellordner auszugeben?

Antwort

14

Sie können die Umgebungsvariable GCOV_PREFIX verwenden. Es ist in dem Dokument unter einer "cross-profiling" section erwähnt, auf die in der Dokumentation für -fprofile-arcs verwiesen wird.

+0

Wenn ich die ausführbare Datei von einer "Kompilierungsmaschine" auf eine "Zielmaschine" verschieben möchte, wo das Programm ausgeführt wird und die Abdeckung gemessen wird: muss ich vom Compiler generierte "* .gcno" Dateien verschieben (z Beispiel "main.cpp.gcno" generiert für meine Quelldatei main.cpp)? – ilya