Запустите инструмент gcov с помощью компилятора C++C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Запустите инструмент gcov с помощью компилятора C++

Сообщение Anonymous »

Я работаю с инструментом покрытия gcov для анализа большого проекта.
У меня есть такая структура каталогов:

Код: Выделить всё

    HW
-FooHW1.cpp
-FooHW1.h
-FooHW2.cpp
-FooHW2.h
-...
-Makefile.am
Lib1
-FooLib1.cpp
-FooLib1.h
-FooLib2.cpp
-FooLib2.h
-...
-Makefile.am

Lib2
...
-Makefile.am
Lib3
...
-Makefile.am
Main
-main.cpp
-main.h
-Makefile.am
Каждый каталог имеет свой собственный Makefile, созданный с помощью automake для генерации зависимостей и независимо от того, где используется компилятор C++.
Поскольку моей целью является анализ покрытия операторов, я попытался использовать gcov, добавив следующие строки в каждый Makefile.am для создания файлов .gcno и .gcda для использования gcov:

Код: Выделить всё

    AM_CXXFLAGS = -fprofile-arcs -ftest-coverage
AM_LDFLAGS = -fprofile-arcs
К сожалению, даже если он скомпилируется, он не создает (или не связывает) несколько *.o, и при вызове gcov обычно выдает ошибку:

Код: Выделить всё

    undefined __gcov_init
Я также попробовал заменить, согласно http://gcc.gnu.org/onlinedocs/gcc/Debug ... verage-536, верхние инструкции на:

Код: Выделить всё

    AM_CXXFLAGS = --coverage
AM_LDFLAGS = --coverage
но мне это не помогает.

Подробнее здесь: https://stackoverflow.com/questions/180 ... c-compiler
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»