首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何解决链接时__gcov_init未定义的引用问题

如何解决链接时__gcov_init未定义的引用问题
EN

Stack Overflow用户
提问于 2013-05-22 02:38:40
回答 7查看 55.6K关注 0票数 56

我现在从事C代码覆盖率研究,并遇到以下问题,GCC版本4.4.6:

  1. 添加编译器标志CFLAGS = --coverage和链接器选项LDFLAGS := --coverageLOCAL_LDLIBS := --coverage,并得到错误:

undefined reference to '__gcov_init'" and "undefined reference to '__gcov_merge_add'

  1. 添加选项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'

有人能在这个问题上提供一些建议吗?

EN

回答 7

Stack Overflow用户

发布于 2013-09-13 04:09:34

试试这种方法:

使用以下选项编译要为其生成覆盖率的代码:

CFLAGS: -fprofile-arcs -ftest-coverage

LFLAGS: -lgcov --coverage

如果这不能解决这个问题,那么请提供一些关于您的应用程序结构的信息,即它的单个程序还是包含共享/静态库的应用程序等等。

希望这能帮上忙!

票数 69
EN

Stack Overflow用户

发布于 2013-05-31 18:20:42

您是否与-lgcov链接?

如果您正在使用Makefile,那么查看它以帮助您会有很大帮助。

票数 16
EN

Stack Overflow用户

发布于 2019-02-25 10:00:23

您必须提供LDFLAGS来解决此问题。

代码语言:javascript
运行
复制
LDFLAGS += " -lgcov --coverage"
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16682606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档