一、过程(以后补)
二、结果
1. CMakeLists.txt
cmake_minimum_required(VERSION 3.2) #1.cmake verson,指定cmake版本
PROJECT(p_test) #2.project name,指定项目的名称,一般和项目的文件夹名称对应
set(CMAKE_CXX_STANDARD 14)
set(BOOST_ROOT "/usr/include/boost") #指定 Boost 库路径
set(CMAKE_CXX_FLAGS "-g -O0 -Wall -fprofile-arcs -ftest-coverage") #添加编译参数,普适!
set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1) #添加头文件搜索路径
include_directories(/usr/include) #头文件目录
INCLUDE_DIRECTORIES( include ) #源文件目录
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
ADD_EXECUTABLE(p_test ${DIR_SRCS}) #添加要编译的可执行文件
target_link_libraries(p_test boost_program_options)#在这里根据名字boost_program_options去寻找libboost_program_options.a文件,普适!
这部分的知识推荐看一看博文 Cmake知识----编写CMakeLists.txt文件编译C/C++程序 或者 《跟我一起写Makefile-陈皓》
2. 具体使用 GCOV/LCOV
project > cmake .
project > make
project > ./p_test
project > cd CMakeFiles/p_test.dir/src #p_test为project name
project/CMakeFiles/p_test.dir/src > gcov p_test.gcno
project/CMakeFiles/p_test.dir/src > lcov --capture --directory . --output-file parser_coverage.info
project/CMakeFiles/p_test.dir/src > genhtml parser_coverage.info --output-directory out
最后生成的 index.html 在 project/CMakeFiles/p_test.dir/src 还深处的一个目录下,哎呀忘了,但是又不想打开虚拟机,相信大家能很快找到哒!