Linker error in Debug mode, apprently due to "--coverage"
This is the linker error... googling suggests, it is to do with --coverage
/usr/bin/ld: lib/libcsv.a(basic_csv_parser.cpp.o): in function `__llvm_gcov_writeout':
basic_csv_parser.cpp:(.text+0x7324): undefined reference to `llvm_gcda_start_file'
/usr/bin/ld: basic_csv_parser.cpp:(.text+0x7349): undefined reference to `llvm_gcda_emit_function'
/usr/bin/ld: basic_csv_parser.cpp:(.text+0x735c): undefined reference to `llvm_gcda_emit_arcs'
/usr/bin/ld: basic_csv_parser.cpp:(.text+0x736b): undefined reference to `llvm_gcda_summary_info'
/usr/bin/ld: basic_csv_parser.cpp:(.text+0x7370): undefined reference to `llvm_gcda_end_file'
/usr/bin/ld: lib/libcsv.a(basic_csv_parser.cpp.o): in function `__llvm_gcov_init':
.... (many more similar lines)
commenting out this line in csv-parser/CMakeLists.txt
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} --coverage -Og")
works around the problem
this is with clang-12 on ubuntu 20.04 and both ld and lld
I met same problem. There is no problem with single include header file. But when I try to switch to a static library + common header file same error occured in my libraries. The reason I want to do it because single header brings some warnings I have to shut down (my project errors are treated as errors). Same OS, clang-12 (compiled by myself with compiler-rt), linker is lld. Please, disable code coverage flag by default just like you did with CSV_DEVELOPER. Thank you.
Adding link_libraries(gcov) to CMakeLists.txt apparently fixes the issue.