在编译时添加--coverage标志时,链接器无法打印-“找不到体系结构x86_64的符号”

我有一个简单的守护程序-

https://gist.github.com/RAvenGEr/9563c051de35662d64baf26a8cd66d2e

我在makefile中添加了--coverage标志,如下所示:

CC = g++

CflaGS = -I. -Wall --coverage

all: daemon-name clean

daemon-name: daemon-name.o      $(CC) -o $@ $^ chmod 700 daemon-name

daemon-name.o: daemon-name.cpp     $(CC) -c $(CflaGS) $<

clean:     rm *.o

我在编译程序时得到-

Undefined symbols for architecture x86_64:

"_llvm_gcda_emit_arcs",referenced from:       ___llvm_gcov_writeout in daemon-name.o

"_llvm_gcda_emit_function",referenced from:       ___llvm_gcov_writeout in daemon-name.o

"_llvm_gcda_end_file",referenced from:       ___llvm_gcov_writeout in daemon-name.o

"_llvm_gcda_start_file",referenced from:       ___llvm_gcov_writeout in daemon-name.o

"_llvm_gcda_summary_info",referenced from:       ___llvm_gcov_writeout in daemon-name.o   "_llvm_gcov_init",referenced from:       ___llvm_gcov_init in daemon-name.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

请注意,程序在没有--coverage标志的情况下可以正确编译和链接,但是我确实需要查看daemon-name.cpp的覆盖范围

我认为导致错误的原因是链接器不解释--coverage标志。如何将--coverage标志添加到链接器以查看代码覆盖率。

ckm5138 回答:在编译时添加--coverage标志时,链接器无法打印-“找不到体系结构x86_64的符号”

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3100033.html

大家都在问