Question

I'm trying to set up code coverage in Xcode 4.5. To do so, I turned on Generate Test Coverage Files and Instrument Program Flow for debug setting. According to http://meandmark.com/blog/2012/08/xcode-4-generating-code-coverage-files-with-llvm/ that's all you need. However, now the linker complains that it can't find:

  • _llvm_gcda_emit_arcs
  • _llvm_gcda_emit_function
  • _llvm_gcda_end_file
  • _llvm_gcda_increment_indirect_counter
  • _llvm_gcda_start_file

I tried to find libprofile_rt.dylib, but it doesn't seem to exist anymore. What else is needed to generate code coverage files?

Was it helpful?

Solution

I also ran into these linker errors. I saw the errors using Xcode 4.2 and 4.3. I'm not sure if they still are there in 4.5.

To solve it I added this file from the llvm project to my unit test code project. To get it to build on my Mac I deleted the win32 and sys includes and replaced the #include "llvm/Support/DataTypes.h" include with #include "stdint.h".

OTHER TIPS

Under the target build setting (be sure to select all)

Set:

  • Apple LLVM complier
    • Instrument Program Flow: YES
    • Generate Test Coverage Files: YES

The unit tests must pass in order for gcda files to be generated.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top