Я уже пробовал много решений, которые я основал, но ни один из них не работал. Я работаю над новым кодом для проекта, но этот код был затронут множеством степеней магистра и доктора, которые не заботятся о том, чтобы сделать его понятным. Таким образом, есть действительно множество вещей, которые не полезны или даже используются.gcov не генерирует все файлы gcda
Затем я возглавляю gcov и lcov, но после того, как я сгенерировал файл .info и загрузил в lcov html, кроме всех моих файлов, он просто отслеживает основной файл! Даже знание большого количества других функций и файлов было использовано!
(Действительно извините за мой плохой английский, я из Манаус, Амазонас - Бразилия, а не хороший английский динамик Но Ive искал этот ответ на как месяц пытаются много вещей, но не получил никакой удачи на всех)
Мои файлы выглядеть следующим образом:
-src/
-core/
-Index.cpp/h
-PostingList.cpp/h
-PreProcessor.cpp/h
-methods/
...
-parser/
...
-run/
...
-structures/
...
-utils/
...
Я получил CMakeFile.txt в исходном каталоге проекта, который выглядит следующим образом:
cmake_minimum_required (VERSION 2.4)
project (queryProcessor)
include("${${PROJECT_NAME}_SOURCE_DIR}/globalVariables.cmake")
include_directories(${INCLUDES})
link_directories(${LIBS})
if(COMMAND cmake_policy)
cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)
add_subdirectory(src)
add_executable(QueryProcessor src/run/queryProcessor.cpp)
target_link_libraries (QueryProcessor libQueryProcessor rt -fprofile-arcs)
add_definitions(-O2)
, а другой на Src каталоге, который выглядит как это:
aux_source_directory(utils UTILS)
aux_source_directory(parser PARSER)
aux_source_directory(methods METHODS)
aux_source_directory(structures STRUCTURES)
aux_source_directory(core CORE)
aux_source_directory(. SRC)
aux_source_directory(../../libs-iw/indexer/include UTILS2)
add_library(libQueryProcessor ${UTILS} ${UTILS2} ${SRC} ${PARSER} ${METHODS} ${STRUCTURES} ${CORE})
set(CMAKE_CXX_FLAGS "--coverage")
include (${${PROJECT_NAME}_SOURCE_DIR}/install.cmake)
Любая помощь будет оценена в том числе предложения по улучшению CMakeFiles, заранее спасибо
Имеются ли файлы объектов libQueryProcessor на самом деле скомпилированы с соответствующими флагами? Используйте 'make clean; make VERBOSE = 1', чтобы перейти к подробному режиму и тщательно проверить флаги вызова компилятора и компоновщика. – user3159253
Также целесообразно перемещать все манипуляции с флагом компиляции _before_, определяя новую цель или добавляя подкаталог. – user3159253
Спасибо @ user3159253! Уже сейчас манипулируют флаговыми манипуляциями и тщательно читают подробный вывод. Единственное отличие от файла к другому заключается в том, что при связывании исполняемого файла CXX у него есть аргумент -fprofile-arcs. Это тот, который требуется для каждого cpp? –