MinGW和Cygwin环境下gcov和lcov使用心得
2012-08-02 19:07
295 查看
原文地址:http://blog.csdn.net/ariesjzj/article/details/7802872
1. Cygwin在/bin下有两种编译器可选:i686-pc-mingw32-gcc和i686-pc-cygwin-gcc。默认为前者。Cygwin编译出来的可执行文件能很好地使用gcov和lcov。但如果项目本身是Mingw的,虽然可将用Mingw的gcc完成编译,但不能用gcov,即便用-fprofile-arcs -ftest-coverage编译和用-lgcov链接,运行时出错。而在Windows上用纯Mingw环境编译出来的却可以用。
2. 注意在编译时源文件的路径最好用相对路径,否则会在生成的gcno文件中加入MinGW的Windows目录前缀,有时会让code coverage report的生成过程失败。
3. 还有个问题就是Mingw没有自带lcov,不过好在lcov就是一个perl脚本,比较容易移植。把Linux上的lcov(包含五个文件lcov, gendesc, genhtml, geninfo, genpng)复制到Windows的Cygwin的bin目录即可。
4. 如果lcov处理时hang住,只需在geninfo中删除
push(@gcov_options, “-a”) if ($gcov_caps->{‘all-blocks’});
一行。
1. Cygwin在/bin下有两种编译器可选:i686-pc-mingw32-gcc和i686-pc-cygwin-gcc。默认为前者。Cygwin编译出来的可执行文件能很好地使用gcov和lcov。但如果项目本身是Mingw的,虽然可将用Mingw的gcc完成编译,但不能用gcov,即便用-fprofile-arcs -ftest-coverage编译和用-lgcov链接,运行时出错。而在Windows上用纯Mingw环境编译出来的却可以用。
2. 注意在编译时源文件的路径最好用相对路径,否则会在生成的gcno文件中加入MinGW的Windows目录前缀,有时会让code coverage report的生成过程失败。
3. 还有个问题就是Mingw没有自带lcov,不过好在lcov就是一个perl脚本,比较容易移植。把Linux上的lcov(包含五个文件lcov, gendesc, genhtml, geninfo, genpng)复制到Windows的Cygwin的bin目录即可。
4. 如果lcov处理时hang住,只需在geninfo中删除
push(@gcov_options, “-a”) if ($gcov_caps->{‘all-blocks’});
一行。
相关文章推荐
- Eclipse C++,Cygwin 64,gcov,lcov 单体&覆盖率测试环境搭建笔记
- Doris安装与使用心得(一) - Linux环境(Cygwin)安装与设置
- MSYS是一个小型的GNU环境,包括基本的bash,make等等,与Cygwin大致相当(没有它,就不能使用mingw自动编译)
- Windows环境使用Cygwin安装Hadoop(亲测可用)
- 在 Cygwin B20 环境中使用中文
- C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项
- 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用
- Windows 使用MinGW 搭建C/C++开发环境
- cygwin命令行环境的配置和使用
- Windows环境下使用cygwin ndk_r9c编译FFmpeg
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- 使用Cygwin模拟Linux环境安装配置运行基于单机的Hadoop
- Ecplise编译Cygwin环境、使用CDT插件开发C/C++
- Windows + MinGW环境下使用libxml2 (1) 安装已编译包
- 使用Cygwin和 mingw 安装 python paramiko模块
- Cygwin环境的熟悉和lex的使用1
- 在MinGW环境下安装和使用glut
- 在windows环境下使用adobe air 的本机扩展ane的一些心得
- 01_JNI是什么,为什么使用,怎么用JNI,Cygwin环境变量配置,NDK案例(使用Java调用C代码),javah命令使用
- Android Studio使用心得 - 简介与环境配置