2012-10-01 11 views
9

Ich versuche, Codeabdeckung in Xcode 4.5 einzurichten. Um dies zu tun, habe ich Generiere Test Coverage Files und Instrument Program Flow für Debug-Einstellung eingeschaltet. Laut http://meandmark.com/blog/2012/08/xcode-4-generating-code-coverage-files-with-llvm/ ist das alles, was Sie brauchen. Aber jetzt der Linker beschwert sich, dass es nicht finden können:iOS Code Abdeckung in Xcode 4.5 gebrochen?

  • _llvm_gcda_emit_arcs
  • _llvm_gcda_emit_function
  • _llvm_gcda_end_file
  • _llvm_gcda_increment_indirect_counter
  • _llvm_gcda_start_file

Ich versuchte libprofile_rt.dylib zu finden, aber es scheint nicht mehr zu existieren. Was ist noch erforderlich, um Code-Coverage-Dateien zu generieren?

+0

Die LLVM-Codeabdeckung ist derzeit nur für Mac OS X und nicht für iOS verfügbar. –

+1

Es ist für iOS verfügbar. Auch die Anleitung im Blogeintrag ist nicht vollständig. Es fehlt die Erstellung eines Testziels. – Mateusz

Antwort

4

Ich lief auch in diese Linker-Fehler. Ich habe die Fehler mit Xcode 4.2 und 4.3 gesehen. Ich bin mir nicht sicher, ob sie noch in 4.5 sind.

Um es zu lösen, habe ich this file aus dem Projekt llvm zu meinem Unit-Test-Code-Projekt hinzugefügt. Um es auf meinem Mac zu bauen habe ich die win32 und sys includes gelöscht und die #include "llvm/Support/DataTypes.h" include mit #include "stdint.h" ersetzt.

+0

Das hat in Xcode 4.5 wunderbar funktioniert! Vielen Dank! – Karl

+0

Du bist der Mann! Das war so hilfreich! – rooftop

+0

Hallo, ich habe immer noch dieses Problem..Und ich versuche es zu beheben. Ich konnte nicht die gleiche Datei wie Sie finden, aber ich habe diese Datei namens: GCOVProfiling.cpp. Ich denke, sie haben die gleiche Funktionalität.Das Problem ist, dass viele andere Dateien in das llvm-Projekt importiert werden. Was soll ich mit all den Importen machen? Jede Hilfe wäre sehr geschätzt, danke! – gyan

8

Unter dem Ziel Build-Einstellung (achten Sie darauf, um alle auszuwählen)

Set:

  • Instrument Programmablauf

    • von Apple LLVM-Compiler: JA
    • generieren Test Coverage-Dateien: JA
+0

Meine Frage sagte ausdrücklich, dass ich das schon getan habe. – Karl

+0

Das ist eine vollkommen richtige Antwort. Ich habe das gerade auf Xcode 4.5.1 bestätigt. Sie müssen diese Einstellungen nur für ein Testziel festlegen. Sie können ein Ziel für den Test erstellen: Datei -> Neu -> Ziel Wählen Sie dann iOS | Andere | Cocoa Touch Unit Testpaket Zusätzlich müssen Sie möglicherweise Profilerstellungscode generieren: YES festlegen, damit die gcda-Dateien generiert werden. Das war das einzige Problem, dem ich kürzlich begegnet bin. Es sollte keine Verbindungsfehler geben. – Mateusz

+2

Ich habe das gleiche Problem. gcno-dateien gibt es aber keine gcda-dateien. Ich habe sie für alle Build-Konfigurationen festgelegt und legen Sie Profilerstellungscode auf JA fest, aber noch keine GCDA-Dateien. – Flax

0

Die Komponententests müssen bestanden werden, damit gcda-Dateien generiert werden können.

Verwandte Themen