我已经尝试了很多解决方案,但都没有起作用。我正在为一个项目编写新代码,但是这段代码被很多硕士和博士修改过,他们并不在意代码的可读性。因此,有很多东西是无用的,甚至未被使用。
然后我听说了gcov和lcov,但是在我生成.info文件并加载到lcov html之后,除了跟踪主文件之外,它只追踪了我的所有文件!即使知道其他许多函数和文件被使用!
(非常抱歉我的英语不好,我来自巴西亚马逊州的马瑙斯,不是一个好的英语演讲者!但是我已经寻找了一个月的答案,尝试了很多方法,但完全没有运气)。
我的文件看起来像:
我在项目源代码目录下找到了一个名为CMakeFile.txt的文件,内容如下:
然后我听说了gcov和lcov,但是在我生成.info文件并加载到lcov html之后,除了跟踪主文件之外,它只追踪了我的所有文件!即使知道其他许多函数和文件被使用!
(非常抱歉我的英语不好,我来自巴西亚马逊州的马瑙斯,不是一个好的英语演讲者!但是我已经寻找了一个月的答案,尝试了很多方法,但完全没有运气)。
我的文件看起来像:
-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建议。提前致谢。
make clean; make VERBOSE=1
切换到详细模式,并仔细检查编译器和链接器调用标志。 - user3159253