gcc ld错误“;libgcov.a(“gcov”u merge“u add.o)由DSO引用;
尝试使用gcov编译代码以实现代码覆盖率。获取以下错误: 隐藏符号“\uuu gcov\u merge\u add”in /usr/lib/gcc/i686 redhat linux/4.4.4/libgcov.a(_gcov_merge_add.o)是 DSO/usr/bin/ld引用:最终链接失败:不可呈现 关于输出集合2的部分:ld返回1退出状态 gcov新增了以下编译器选项:gcc ld错误“;libgcov.a(“gcov”u merge“u add.o)由DSO引用;,c,linux,gcc,rhel,C,Linux,Gcc,Rhel,尝试使用gcov编译代码以实现代码覆盖率。获取以下错误: 隐藏符号“\uuu gcov\u merge\u add”in /usr/lib/gcc/i686 redhat linux/4.4.4/libgcov.a(_gcov_merge_add.o)是 DSO/usr/bin/ld引用:最终链接失败:不可呈现 关于输出集合2的部分:ld返回1退出状态 gcov新增了以下编译器选项: -O0 -fprofile-arcs -ftest-coverage -Xlinker -zmuldefs
-O0 -fprofile-arcs -ftest-coverage -Xlinker -zmuldefs
及劳工处旗帜:
-fprofile-generate -fprofile-arcs
并与库链接-lgcov
请提出建议。我们可以使用简单的
--coverage-O0
编译器选项并最终链接到RHEL 6.*版本的-lgcov
来启用代码覆盖率
然而,debian的情况并非如此,我们必须使用
-O0-fprofile arcs-ftest coverage-Xlinker-zmuldefs
来生成支持代码覆盖的二进制文件 此问题的解决方案是
- 使用
-fprofile弧-ftest覆盖率编译
- 链接到
-fprofile弧-lgcov
-fprofile arcs
时,我也遇到了同样的错误