2009-09-17 6 views
11

Quando si utilizza gcc con -fprofile-arcs e -ftest-coverage, quando l'eseguibile risultante termina, tenta di creare file di output .gcda nella stessa posizione dei file .o utilizzati per compilare l'eseguibile. Questo è un inconveniente quando sto lavorando su una macchina diversa da quella su cui ho costruito - c'è un modo per cambiare questo comportamento?È possibile eseguire gcc/gcov per generare statistiche di copertura in una posizione diversa dalla cartella di origine?

risposta

14

È possibile utilizzare la variabile di ambiente GCOV_PREFIX. È menzionato nel doc sotto un "cross-profiling" section, a cui si fa riferimento nella documentazione per -fprofile-arcs.

+0

Se voglio spostare un eseguibile da una "macchina di compilazione" a una "macchina di destinazione", dove verrà eseguito il programma e verrà misurata la copertura: devo spostare i file "* .gcno" generati dal compilatore (per esempio "main.cpp.gcno" generato per il mio file sorgente main.cpp)? – ilya

Problemi correlati