我现在从事C代码覆盖率研究,遇到以下问题,GCC版本4.4.6:
- 添加了编译器标志
CFLAGS = --coverage
和链接器选项LDFLAGS := --coverage
or LOCAL_LDLIBS := --coverage
并得到错误:
undefined reference to '__gcov_init'" and "undefined reference to '__gcov_merge_add'
- 添加选项
LOCAL_LDFLAGS := --coverage
,并出现链接错误:
libgcov.a(_gcov.o): in function __gcov_set_sampling_rate: undefined reference to '__gcov_sampling_rate'
libgcov.a(_gcov.o): in function gcov_exit: undefined reference to '__gcov_pmu_profile_filename'
libgcov.a(_gcov.o): in function __gcov_init: undefined reference to '__gcov_pmu_profile_options' '__gcov_pmu_top_n_address'
有人可以帮忙就这个问题提供一些建议吗?
尝试这个方法:
使用以下选项编译要为其生成覆盖率的代码:
CFLAGS: -fprofile-arcs -ftest-coverage
LFLAGS: -lgcov --coverage
如果这不能解决问题,那么请提供一些有关您的应用程序结构的信息,即它是单个程序还是涉及共享/静态库等的应用程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)